יום שני, אוגוסט 17, 2009


בימים האחרונים חזרתי לעבוד הרבה עם ניהול שרתים (קטנים אבל עדיין שרתים).
בכל מקרה לאחר שהגדרנו את שירותי ההזדהות (ldap) וגם שירותי שיתוף הקבצים (nfs+samba+ldap) הגיעו הדברים הפשוטים יותר.
פעמים רבות יש צורך לעלות מחשב ריק ולהתקין עליו כמה שיותר מהר מערכת הפעלה.
ישנו פתרון והוא נקרא PXE.

על מנת להשתמש בזה בדביאן / אובנטו יש להתקין מספר חבילות :

שרת שיאפשר את ההורדה.
השרת הוא שירות מסוג tftpd שזה ftp רק בלי כל הסיגנאליניג ואותריזציה.



apt-get install tftp-hpa
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
tftp-hpa
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 26.5kB of archives.
After this operation, 53.2kB of additional disk space will be used.
Get:1 http://mirror.isoc.org.il unstable/main tftp-hpa 5.0-5 [26.5kB]
Fetched 10.4kB in 2s (3836B/s)
Selecting previously deselected package tftp-hpa.
(Reading database ... 132205 files and directories currently installed.)
Unpacking tftp-hpa (from .../tftp-hpa_5.0-5_amd64.deb) ...
Processing triggers for man-db ...
Setting up tftp-hpa (5.0-5) ..


לאחר מכן יש לאפשר עליית המודול בקובץ /etc/default/tftpd-hpa

לאחר מכן צריך להתקין את שירות שיאפשר את החיבור (מי שיתן את כתובת הIP למחשב שיתחברו).


apt-get install dhcp3-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
dhcp3-server-ldap
The following NEW packages will be installed:
dhcp3-server
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 358kB of archives.
After this operation, 819kB of additional disk space will be used.
Get:1 http://mirror.isoc.org.il unstable/main dhcp3-server 3.1.2p1-1 [358kB]

קובץ ההגדרות שאני משתמש הוא בהנחה שהכרטיס מוגדר כ192.168.10.5 והתקשורת מוגדרת לעבור דרכו החוצה.
במצב אחר (שיש נתב שהוא לא מחלק כתובות) הגדירו את routers כip של הנתב.



option domain-name-servers 4.2.2.2;
default-lease-time 86400;
max-lease-time 604800;
authoritative;

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.70 192.168.10.100;
filename "pxelinux.0";
next-server 192.168.10.5;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.10.5;
}


לאחר שהכול מוגדר כמו שצריך נשאר רק להוריד את הקבצים שישלחו למחשבים.
זאת מבצעים באמצעות הורדת הקובץ netboot.tar.gz ופריסתו לתיקיה ממנה tftpd פותח את הקבצים.
כלומר :


sudo mkdir -p /var/lib/tftpboot

wget -c http://mirror.isoc.org.il/pub/debian/dists/testing/main/installer-i386/current/images/netboot/netboot.tar.gz
--2009-08-17 03:12:47-- http://mirror.isoc.org.il/pub/debian/dists/testing/main/installer-i386/current/images/netboot/netboot.tar.gz
Resolving mirror.isoc.org.il... 192.115.211.70
Connecting to mirror.isoc.org.il|192.115.211.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7432940 (7.1M) [application/x-gzip]
Saving to: `netboot.tar.gz'

100%[==================================================================================================>] 7,432,940 133K/s in 74s

2009-08-17 03:14:02 (98.3 KB/s) - `netboot.tar.gz' saved [7432940/7432940]

sudo tar -xvvf netboot.tar.gz -C/var/lib/tftpboot

כמובן לא לשכוח להפעיל מחדש את dhcp3-server ו tftpd-hpa
/etc/init.d/dhcp3-server restart
/etc/init.d/tftpd-hpa restart
אם יש אי אלו שגיאות צריך להתייחס אליהן ולעבוד על פי הן.
אם התקבלה שגיאה של אין האזנה על אף התקן זה אומר שאין כרטיס רשת בקבוצת הIPים שמחלקים
במילים אחרות :
ifconfig eth0 192.168.10.5

עד לפה הכל טוב ויפה. מה שצריך לעשות אכשיו זה לחבר מחשב עם קבל רשת (מוצלב או דרך נתב שלא מחלק IPים) להפעיל ולהרשות הפעלה מהרשת.

משום מה ביומים האחרונים יש לי בעיות לעבוד עם שרתי testing של mirror.isoc.org.il (יש טענה שיש בעייה בchecksum) בדקתי רק עם amd64. קפיצה לשרתי מיררור של מדינה אחרת (ניסיתי עם ארה"ב ועבר חלק).

נקודה למחשבה היא שימוש בapt-proxy או squid שיאפשר משחק בהתקנה.
למרות שאני לא יודע איך לגרום לd-i להוריד משרת אחר ניתן להגדיר פרוקסי בצורה כזאת מהירות ההורדה תעלה פלאיים.
למעשה כשאני חושב על זה פיטצר של הגדרה ידנית של מקורות apt הוא הרבה יותר מעניין (ושמיש).

נ.ב.
ניתן להתקין ככה כל מערכת (צריך רק להוריד את הnetboot המתאים למערכת).


אין תגובות:

הוסף רשומת תגובה