Xem mẫu

  1. Hồi 1: Network Installation Server 1. Tóm lược: Đại ca muốn chúng ta xây dựng bộ cài đặt qua mạng. Để làm được điều này, card mạng của client phải có gắn một chipset đặc biệt gọi là bootrom, đây là một đoạn chương trình có chức năng thực thi các lệnh cần thiết trong môi trường PXE (Preboot Execution Environment). Giao thức để thực hiện quá trình boot qua mạng bao gồm 2 giao thức là DHCP và TFTP. Ban đầu khi khởi động, bootrom sẽ gửi tín hiệu yêu cầu cấp phát IP cho máy mình thông qua giao thức DHCP. Có được IP rồi, dùng giao thức TFTP, bootrom sẽ lấy được những thông tin cần thiết về quá trình boot, như các file dùng để boot là gì, tham số khi boot ra sao. Sau khi download các file cần thiết về, bootrom nạp hết tất cả các file này vào bộ nhớ và trao lại quyền quản lí máy tính cho bộ nhớ (thực chất là cho các file dùng để khởi động linux này). Đến đây coi như nhiệm vụ của hoàn thành được 1 chặng. Phần còn lại là phần tương tác giữa các file khởi động với server cung cấp gói cài đặt qua mạng. Nói tóm lại chúng ta cần cài đặt 3 dịch vụ sau: một dịch vụ DHCP cho phép yêu cầu cấp phát IP qua giao thức bootp (boot protocol), 1 dịch vụ TFTP để client down các file khởi động về, 1 dịch vụ chia sẻ đĩa cài đặt qua mạng để các file khởi động có thể lấy về cài. 2. Cài đặt a) Cài đặt các gói dịch vụ cần thiết: Các gói cài đặt bao gồm syslinux, dhcpd, tftp- server. - Mount ổ CDROM lên (nếu chưa mount, kiểm tra xem đã mount chưa bằng lệnh mount, nếu có /dev/hdc trong danh sách mount thì CDROM đã được mount rồi) để sử dụng các gói cài: - Kiểm tra một gói đã cài chưa bằng lệnh rpm –ql - Chuyển vào thư mục RedHat/RPMS trong CDROM. - Cài các gói: rpm –Uvh --aid b) Cấu hình tftp-server: - Chú ý khi cài đặt xong gói tftp-server thì ở thư mục gốc có thêm thư mục /tftpboot - Change mod thư mục này sao cho mọi đối tượng đều đọc được. chmod a+r /tftpboot
  2. - Copy các file *.msg, vmlinuz (chú ý linuz chứ không phải linux), initrd.img trong thư mục isolinux trên CDROM vào /tftpboot cd /media/cdrom/isolinux cp *.msg initrd.img vmlinuz /tftpboot - Copy file pxelinux.0 (chú ý, số 0) trong thư mục /usr/lib/syslinux vào /tftpboot cp /usr/lib/syslinux/pxelinux.0 /tftpboot - Trong thư mục /tftpboot tạo ra thư mục pxelinux.cfg mkdir /tftpboot/pxelinux.cfg - Copy file isolinux.cfg trong thư mục isolinux trên cdrom và thư mục pxelinux.cfg với tên là default cp /media/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default Kiểm tra lại: trong thư mục tftpboot có 5 loại đối tượng sau: các file *.msg, 1 file initrd.img, 1 file vmlinuz, 1 file pxelinux.0, 1 thư mục pxelinux.cfg có file default. Khởi động dịch vụ tftp: - Dịch này không chạy độc lập mà đi kèm với dịch vụ xinetd. - Cấu hình file /etc/xinetd.d/tftp: Thay disable = yes thành disable = no - Khởi động lại xinetd: service xinetd restart c) Cấu hình DHCP: - Chú ý quan trọng: file cấu hình dhcpd.conf không có sẵn trong thư mục /etc mà fải copy từ /usr/share/doc/dhcp-/dhcpd.conf.sample. Nếu không có file dhcpd.conf trong thư mục /etc thì dịch vụ dhcp sẽ không bao giờ khởi động được cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf - Chỉnh sửa file này: - Dòng đầu tiên thêm vào allow bootp;
  3. - Ở khối subnet netmask cần chỉnh lại thành dải IP mạng ứng với card mạng của mình, địa chỉ netmask ứng với netmask của card mạng của mình (nếu có nhiều card mạng thì dùng cấu hình của cái nào cũng được- cái này tớ chưa thử nghiệm nhưng tớ suy ra thế :D). Ví dụ card mạng cấu hình IP là 172.16.0.3, netmask 255.255.0.0 thì khối subnet khai báo như sau: subnet 172.16.0.0 netmask 255.255.0.0 { .. } - Trong nội dung của khối này, thêm 2 dòng sau: filename “pxelinux.0”; next-server ; Chú ý là “pxelinux.0” là số 0, next-server là IP của máy mình, ví dụ 172.16.0.3; - Cũng trong khối đó, điều chỉnh lại range dynamic-bootp là dải IP phù hợp với địa chỉ net của mình, ở ví dụ trên điền là 172.16.0.4 172.16.0.254 (địa chỉ .3 đã đặt cho mình rồi, địa chỉ .255 là địa chỉ broadcast, do đó chỉ nên cấu hình từ .4 đến .254) - Lưu lại file và bật dịch vụ: service dhcpd start d) Cài dịch vụ chia sẻ file qua mạng: có 3 dịch vụ có thể dùng để chia sẻ bộ cài qua mạng là HTTP, FTP, NFS. d1) HTTP: - Cài gói httpd trong đĩa cài - Khi cài đặt từ client bằng giao thức HTTP, sẽ có 2 tham số: 1 là IP của server, 2 là thư mục chứa đĩa CDROM. IP server thì rõ rồi. Thư mục chứa đĩa CD có thể là “/” hoặc thư mục ABC nào đó. Trong cả 2 trường hợp, ta tạo soft link từ /media/cdrom đến thư mục gốc của http server là /var/www/html + Nếu yêu cầu thư mục chứa đĩa CD là “/” thì tạo soft link như sau: ln –s /media/cdrom/* /var/www/html + Nếu yêu cầu thư mục chứa đĩa CD là “ABC” thì tạo soft link như sau: ln –s /media/cdrom /var/www/html/ABC
  4. - Xong, khởi động dịch vụ: service httpd start d2) FTP: - Cài gói vsftpd - Tương tự khi cài đặt có thêm tham số là thư mục chứa CDROM: + Nếu yêu cầu thư mục chứa đĩa CD là “/” thì: cần xóa thư mục /var/ftp đi và tạo softlink từ /media/cdrom đến /var/ftp (hoặc ánh xạ lại /dev/dhc vào /var/ftp) rm /var/ftp ln -s /media/cdrom /var/ftp (hoặc mount –t iso9660 -o remount /dev/hdc /var/ftp) + Nếu yêu cầu thư mục chứa đĩa CD là “ABC” thì cần tạo thư mục ABC trong /var/ftp trước, sau đó ánh xạ lại /dev/cdrom đến thư mục /var/ftp/ABC mkdir /var/ftp/ABC mount –t iso9660 -o remount /dev/hdc /var/ftp/ABC (Lí do ở đây fải mount lại là vì vsftp không hỗ trợ tạo softlink trong thư mục con của /var/ftp. Bản thân thư mục gốc của ftp server thì có thể là softlink nhưng thư mục con của nó thì không được phép) - Khởi động dịch vụ: service vsftpd start d3) NFS: - Mặc định NFS đã cài sẵn. Nhưng nếu không có thì cần cài lại các gói nfs, nfslock, portmap. - File cấu hình dịch vụ /etc/exports - Thêm dòng /media/cdrom *(ro) Chỗ này có thể thay thế /media/cdrom bằng một thư mục nào đó mà đề yêu cầu (tất nhiên fải remount lại /dev/hdc đến thư mục đó). - Khởi động (khởi động lại) dịch vụ nfs: service nfs (re)start