Thứ Hai, 27 tháng 2, 2012

Inode

Trong hệ thống filesystem các tệp được biểu diễn bằng inode.inode chứa thông tin mô tả tệp như chủ sở hữu ,path , quyền truy cập thời gian tạo sử đổi hay thực thi tệp .Mỗi 1 tệp co 1 inode nhưng một inode có thế chứa nhiều tên tệp khác nhau.các tên tệp này đều tham chiếu đến inode đó .Khi một tiến trình gọi đến tệp thì kernel sẽ tìm đường dẫn đến tệp đó sua đó tìm đến inode kiểm tra quyền truy cập đối với tệp.Nếu phù hợp thì trao inode cho tiến trình.các thuộc tính của tệp chứa trong inode như sau :
Loại file
Permissions
Chủ sở hữu
Nhóm
Kích thước file
Thời gian truy cập, thay đổi, sửa đổi file
Thời gian file bị xóa
Số lượng liên kết
Thuộc tính mở rộng
Danh sách truy cập file



Bạn có thể xem inode của file với câu lệnh “ls -i”, ví dụ:

$ ls -i /etc/passwd

output: 567700 /etc/passwd

Bạn cũng có thể dùng lệnh “stat” để xem inode và nhiều thuộc tính của file:

$ stat /etc/passwd

Output:

File: `/etc/passwd’
Size: 1789 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 567700 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-11-10 22:45:47.484095607 +0700
Modify: 2011-11-09 22:26:02.297309872 +0700
Change: 2011-11-09 22:26:02.321309871 +0700

Chủ Nhật, 19 tháng 2, 2012

Quản trị hệ thống - Bài 1 : Cài đặt và cấu hình ganglia

Loạt bài chia sẻ kinh nghiệm xây dựng và quản trị hệ thống.
Ganglia là công cụ monitor hệ thống khá tốt.Sử dụng trên hệ điều linux .Ganglia thu thập các trạng thái của các máy client trong mạng .Tổng hợp và đưa ra kết quả của hệ thống đang hoạt động như thế nào.
 Kiến trúc của ganglia :


dịch vụ A trên máy X -> {số đo M, số đo N,...} -> người vận chuyển -> kho lưu trữ  -> đồ họa
        service                  gmetric                  gmond         gmetad; rrd      gweb
Các thành phần của ganglia gồm có :
  1. gmetric: Một số đo mô tả trạng thái của dịch vụ trên máy khách. Ví dụ, thời gian máy khách hoạt động kể từ lần khởi động cuối cùng của nó (uptime), nhiệt độ trung bình của bo mạch chủ, tốc độ quay của quạt CPU,... Mỗi metric được mô tả bởi các yếu tố:
    1. Thời gian đo: mô tả thời điểm ứng với số đo (mỗi số đo phải ứng với một thời điểm duy nhất)
    2. Giá trị: Có thể là con số (thực, nguyên,...), hoặc chuỗi
    3. Tên: cho phép phân biện các số đo với nhau
  2. gmond: chạy trên các client có nhiệm vụ gửi các thống số định kỳ về gmetad.
  3. gmetad: Đây là nhạc trưởng hay trái tim của hệ thống Ganglia. Tiến trình này lắng nghe một cách thường trực, mỗi khi nhận được thông tin từ bất kỳ tiến trình gmond nào, nó sẽ phân giải thông tin và lưu trữ vào kho dữ liệu chung (theo định dạng RRD - Round Robin Database).
  4. gweb: Cung cấp giao diện web, mô tả tất cả các số đo trong kho dữ liệu ở dạng đồ thị (trừ thông tin dạng chuỗi).
Cài đặt ganglia trên centos
Trên máy monitor (192.168.1.253)ta cài
rrdtool ganglia ganglia-gmetad ganglia-gmond ganglia-web httpd php apr apr-util
Admin $ yum install rrdtool ganglia ganglia-gmetad ganglia-gmond ganglia-web httpd php apr apr-util
Sau đó sử file cấu hình gmond.conf như sau:
Admin $ vi /etc/ganglia/gmond.conf
 
cluster {
  name = "cluster1"
  owner = "owner1"
  latlong = "unspecified"
  url = "unspecified"
}

udp_send_channel {
  host = 192.168.1.253
  port = 8649
  ttl = 1
}

udp_recv_channel {
  port = 8649
} 

Khởi động gmond
service gmond start
Cho gmond khởi động cùng với HDH
chkconfig gmond on

Sử file cấu hình gmetad.conf trong /etc/ganglia/gmetad.conf

data_source "my cluster" 192.168.1.253:8649
 
khởi động  gmetad 
chkconfig gmetad on
service gmetad start

 Khở động http

chkconfig httpd on
service httpd start

 Tại các nodes ta cài gmond :
yum install ganglia-gmond
 
Chỉnh sử file gmond.conf như trên.
 
Từ trình duyệt trên monitor http://localhost/ganglia
 
Nếu xuất hiện lỗi 
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied
Các bạn vào /etc/selinux/config chỉnh lại như sau

 # This file controls the state of SELinux on the system.

 # SELINUX= can take one of these three values:

 # enforcing - SELinux security policy is enforced.

 # permissive - SELinux prints warnings instead of enforcing.

 # disabled - SELinux is fully disabled.

 SELINUX=disabled

 # SELINUXTYPE= type of policy in use. Possible values are:

 # targeted - Only targeted network daemons are protected.

 # strict - Full SELinux protection.

 SELINUXTYPE=targeted 
 
 
(Trong quá trình triển khai ganglia cho hệ thống công ty tôi có một số lưu lý sau:
Khi cài ganglia-gmetad và ganglia-gmond nếu không cũng version thì nó sẽ không nhận.Cái này là tôi thấy thế .nhưng chắc là ganglia có hỗ trợ nhưng chưa biết.
Thứ 2 là với ganglia 3.0.7 tôi cái rrdtool 1.2 nó mới nhận.Nhung bản rrdtool mới không được
Việc cài ganglia-web phải chú ý đến php.Như tôi php53 cần phải remove rồi mới cài được ganglia-web
host là địa chỉ của server
Ở bản ubuntu 5.4 nếu sử dụng rpmforge thì sẽ get về ganglia 3.1.7.Sử dụng epel.repo sẽ tải về bản 3.0.7
Để disable rpmforge thi vi /etc/yum.res*/rpmforge sử giá trị disable = 0