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 <tên gói> ư
- Chuy n vào th m c RedHat/RPMS trong CDROM. ư
- Cài các gói:
rpm –Uvh --aid <tên gói>
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
-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 ư
f i copy t /usr/share/doc/dhcp-<tên version>/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;
- kh i subnet <d i IP m ng> netmask <đ a ch 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 <IP c a máy mình>;
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
-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