|
|
|
|

Khách hàng
|
|
|
..................................................................
..................................................................
|
|
|
|
|
|
|
|
|
 Phần mềm Linux
|
Chia sẻ file và thư mục trong linux
Cấu hình NFS (Network File System) Giới thiệu về NFS: - NFS cho phép chia sẻ các thư mục và file qua mạng. - NFS là một hệ thống Client/Server. Việc kết nối một thư mục từ xa tới hệ thống file cục bộ gọi là "mounting" một thư mục. Việc cung cấp chia sẻ một thư mục gọi là "exporting" một thư mục. Server sẽ thực hiện "exporting" thư mục cần chia sẻ, client sẽ thực hiện "mounting" thư mục được chia sẻ đó. - NFS là một giao thức "yêu cầu thủ tục từ xa" RPC (Remote Procedure Call), chạy trên nền (ở mức cao) UDP và IP. RPC là một hệ thống yêu cầu đơn giản được xử lý bởi remote server. - NFS không phải là một chương trình đơn lẻ, mà là một bộ các chương trình liên kết nhau cùng thực hiện công việc. • portmap: Quản lý các kết nối đối với các ứng dụng sử dụng RPC chỉ định. Portmap cần được chạy trên cả NFS server và client. • nfs: Khởi chạy các tiến trình RPC được yêu cầu để phục vụ chia sẻ file NFS. nfs cần chạy chỉ trên NFS server. • nfslock: Được sử dụng để cho phép các NFS client lock các file trên server qua các tiến trình RPC. nfslock cần được chạy trên cả NFS server và client. • netfs: Cho phép các tiến trình RPC chạy trên NFS client để mount các file NFS trên server. netfs cần chạy chỉ trên client. Cài đặt NFS: - Kiểm tra xem các gói nfs đã được cài đặt trên hệ thống chưa bằng lệnh "rpm" kết hợp với lệnh "grep": [root@ul01 /]# rpm qa| grep nfs systemconfignfs1.3.101 nfsutils1.0.78 [root@ul01 /]# Nếu không có gói nfs nào được liệt kê ra thì các bạn sẽ phải cài các gói cần thiết đó. Cài gói bằng lệnh "rpm ivh tengoi.rpm". - Các bạn cũng cần kiểm tra xem gói portmap đã được cài đặt chưa: [root@ul01 /]# rpm q portmap portmap4.065 [root@ul01 /]# Nếu không có gói portmap nào được liệt kê ra thì các bạn sẽ phải cài gói portmap theo yêu cầu. Cấu hình NFS Server: Trên server cần có portmap, nfs, nfslock hoạt động, đồng thời phải cấu hình chính xác file /etc/exports. File /etc/exports là file cấu hình NFS chính, chứa các thư mục cần chia sẻ. File /etc/exports gồm hai cột. Cột thứ nhất liệt kê các thư mục chia sẻ, cột thứ hai có hai phần: Phần đầu là các mạng, các DNS domain, tên host được phép truy cập thư mục chia sẻ và phần hai là danh sách các lựa chọn NFS: ro - Chỉ cho phép xem rw - Cho phép xem và thay đổi ...... Ví dụ: #/etc/exports /usr ul02(ro) /data/test (rw,sync) /data/database *(rw,sync) Sau khi cấu hình file /etc/exports, bạn phải kích hoạt cài đặt. Kích hoạt NFS Server: 1) Dùng lệnh "chkconfig" để cấu hình các tiến trình nfs và RPC được yêu cầu khởi chạy khi boot: [root@ul01 /]# chkconfig -level 35 portmap on [root@ul01 /]# chkconfig -level 35 nfs on [root@ul01 /]# chkconfig -level 35 nfslock on 2) Kích hoạt các dịch vụ nfs và portmap RPC: [root@ul01 /]# service portmap start [root@ul01 /]# service nfs start [root@ul01 /]# service nfslock start 3) Kiểm tra NFS chạy đúng chưa bằng lệnh "rpcinfo". Danh sách chạy chương trình RPC phải có: mountd, portmapper, nfs và nlockmgr. [root@ul01 /]# rpcinfo -p ul01 program vers proto port Kiểm tra NFS chạy đúng chưa bằng lệnh "rpcinfo". Danh sách chạy chương trình RPC phải có: mountd, portmapper, nfs và nlockmgr. [root@ul01 /]# rpcinfo -p ul01 program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 649 rquotad 100011 2 udp 649 rquotad 100011 1 tcp Cấu hình NFS Client: 652 rquotad 100011 2 tcp 652 rquotad 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 udp 32790 nlockmgr 100021 3 udp 32Cấu hình NFS Client:790 nlockmgr 100021 4 udp 32790 nlockmgr 100021 1 tcp 32823 nlockmgr 100021 3 tcp 32823 nlockmgr 100021 4 tcp 32823 nlockmgr 100005 1 udp 661 mountd 100005 1 tcp 664 mountd 100005 2 udp 661 mountd 100005 2 tcp 664Cấu hình NFS Client: mountd 100005 3 udp 661 mountd 100005 3 tcp 664 mountd 100024 1 udp 32791 status 100024 1 tcp 32824 statusCấu hình NFS Client: [root@ul01 /]# Exports "thủ công" thư mục cần chia sẻ: Các bạn có thể exports các thư mục không có trong danh sách chia sẻ của file /etc/exports: [root@ul01 /]# exportfs ul02:/usr -o rw Trong đó: exportfs là lệnh exports. ul02 là tên client được chia sẻ. /usr là thư mục chia sẻ. -o là đối số dùng để liệt kê các lựa chọn như: rw: Đọc, thay đổi file. ro: Chỉ đọc file. Cấu hình NFS Client: Cấu hình NFS client yêu cầu kích hoạt các ứng dụng NFS, tạo một thư mục để mount các thư mục trên server được export. Thư mục được tạo phải rỗng. Kích hoạt NFS Client: Giống như kích hoạt NFS Server, kích hoạt NFS Client cũng cần ba bước cơ bản: 1) Dùng lệnh "chkconfig" để cấu hình các tiến trình nfs và portmap RPC khởi chạy khi boot. Lưu ý: NFS Client cấu hình gói netfs, khác với gói nfs trên NFS Server. [root@ul02 /]# chkconfig -level 35 netfs on [root@ul02 /]# chkconfig -level 35 nfslock on [root@ul02 /]# chkconfig -level 35 portmap on 2) Kích hoạt các dịch vụ nfs và portmap RPC: [root@ul02 /]# service portmap start [root@ul02 /]# service netfs start [root@ul02 /]# service nfslock start 3) Kiểm tra NFS chạy đúng chưa bằng lệnh "rpcinfo". Danh sách chạy chương trình RPC phải có: status, portmapper và nlockmgr. [root@ul02 /]# rpcinfo -p ul02 program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 649 rquotad 100011 2 udp 649 rquotad 100011 1 tcp 652 rquotad 100011 2 tcp 652 rquotad 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 udp 32790 nlockmgr 100021 3 udp 32790 nlockmgr 100021 4 udp 32790 nlockmgr 100021 1 tcp 32823 nlockmgr 100021 3 tcp 32823 nlockmgr 100021 4 tcp 32823 nlockmgr 100005 1 udp 661 mountd 100005 1 tcp 664 mountd 100005 2 udp 661 mountd 100005 2 tcp 664 mountd 100005 3 udp 661 mountd 100005 3 tcp 664 mountd 100024 1 udp 32791 status 100024 1 tcp 32824 status [root@ul02 /]# NFS và DNS: NFS Client phải có một cặp giá trị DNS thuận nghịch trên DNS server được NFS Server dùng: [root@ul01 /]# host 192.168.30.2 2.30.168.192.inaddr.arpa domain name pointer ul02.ossig.com [root@ul01 /]# host ul02.ossig.com ul02.ossig.com has address 192.168.30.2 [root@ul01 /]# Đây là một sự thận trọng trong bảo mật được thêm vào gói nfs để giảm khả năng các máy không được ủy quyền truy nhập các file trên NFS Server. Thực hiện Mount cố định NFS: Các yêu cầu mount cố định của user được nhập vào file /etc/fstab. File /etc/fstab: File /etc/fstab liệt kê tất cả các partition cần được mount tự động khi hệ thống boot. Do đó, các bạn cần sửa đổi file này nếu các bạn muốn thư mục NFS được làm cho có giá trị. #/etc/fstab #Directory Mount Point Type Options Dump FSCK 192.168.30.1:/data/test /mnt/nfs nfs soft,nfsvers=2 0 0 Trong đó: 192.168.30.1 là địa chỉ IP của server ul01. /mnt/nfs là thư mục cục bộ mount point (Chứa các nội dung được mount từ server). nfs là kiểu file được mount. soft là kiểu loại mount "mềm". nfsvers=2 là phiên bản nfs được sử dụng. Mount cố định thư mục NFS: Các bạn sẽ phải tạo ra một thư mục mount point, /mnt/nfs, dùng để mount thư mục NFS từ xa. Sử dụng lệnh "mount a" để thực hiện mount. Chú ý là trước khi mount, thư mục /mnt/nfs phải rỗng. [root@ul02 /]# mkdir /mnt/nfs [root@ul02 /]# ls /mnt/nfs [root@ul02 /]# mount a [root@ul02 /]# ls /mnt/nfs VSI ossig.vsi [root@ul02 /]# Khi hệ thống boot, nó sẽ đọc file /etc/fstab và thực hiện lệnh "mount a". Chú ý: Có nhiều phiên bản NFS. Các bạn phải sử dụng cùng một phiên bản NFS trên cả NFS Server và Client. Trong đó, NFS version 2 là phổ biến nhất. Mount "thủ công" các file NFS: Các bạn có thể mount thư mục được chia sẻ mà không cần sửa đổi giá trị trong file /etc/fstab khi cần thiết. [root@ul02 /]# mkdir /mnt/nfs [root@ul02 /]# ls /mnt/nfs [root@ul02 /]#mount t nfs 192.168.30.1:/usr /mnt/nfs [root@ul02 /]# ls /mnt/nfs bin games kerberos libexec sbin src lib local etc include share tmp [root@ul02 /]# Kích hoạt file /etc/exports khi thực hiện các thay đổi: Thực hiện export các giá trị trong file /etc/exports khi không có thư mục được export tới NFS: [root@ul01 /]# exportfs a Thực hiện export các giá trị mới trong file /etc/exports mà không cần restart dịch vụ: [root@ul01 /]# exportfs r Unmount khi cần remove dữ liệu được chia sẻ khỏi file cục bộ: [root@ul02 /]# umount /mnt/nfs hoặc: [root@ul02 /]# umount 192.168.30.1:/data/test NFS Automounter: Việc mount cố định các file có nhiều nhược điểm. File /etc/fstab là riêng biệt trên từng hệ thống Linux và để mount thì phải thay đổi từng hệ thống một, do đó việc quản lý trở nên khó khăn. NFS sử dụng automounter để khắc phục các khuyết điểm bằng cách cho phép các bạn "đi vòng" file /etc/fstab để mount NFS, thay thế cho việc sử dụng một file map NFS chỉ định mà có thể chia sẻ cho nhiều clients File Automounter Map: File /etc/auto.master liệt kê các thư mục cần được mount tự động và thông tin cấu hình được ghi trong file /etc/auto.home: # # File: /etc/auto.master #/ home /etc/auto.home -timeout=300 // etc/auto.direct Trong đó: File /etc/auto.master là file chứa các thông tin để thực hiện mount tự động. Thư mục /home là thư mục cần được mount tự động trên NFS Server. File /etc/auto.home là file chứa các thông tin cấu hình. timeout= 300 là khoảng thời gian việc mount thực hiện và giá trị này sẽ mặc định cho tất cả các thông tin trong file /etc/auto.home. File /etc/auto.direct là file chứa các giá trị không phù hợp với /home. Khởi chạy Automounter: 1)Dùng lệnh "chkconfig" để cấu hình các tiến trình mount tự động khởi chạy khi boot: [root@ul01 /]# chkconfig autofs on Kích hoạt cả file NFS lock để giảm rủi ro việc lỗi dữ liệu. 2)Kích hoạt tiến trình automounter: [root@ul0 /]# service autofs start 3)Dùng lệnh "pgrep" để xem tiến trình automounter có hoạt động không. Nếu có, câu lệnh sẽ trả về giá trị PID (Process ID) của tiến trình: [root@ul01 /]# pgrep automount 32261 [root@ul01 /]#
|
|
|
|
|
|
|
Send article to friend
Send article to friend successfully!
|
|
Tin tức khác
|
|
|
|