Бездисковая загрузка Windows 2008 по PXE
Материал из Xgu.ru
- Короткий URL: pxe/win2008
Автор: Сергей Черепенин
На этой странице будет описано, как организовать бездисковую загрузку операционной системы Windows Server 2008 при помощи
PXE и iSCSI.
Содержание |
[править] Запуск в качестве DomU
DomO:
clint:~$ sudo xm info host : sergey release : 2.6.26-2-xen-686 version : #1 SMP Wed Aug 19 08:47:57 UTC 2009 machine : i686 nr_cpus : 1 nr_nodes : 1 cores_per_socket : 1 threads_per_core : 1 cpu_mhz : 1803 hw_caps : 078bfbff:ebd3fbff:00000000:00000010:00002001:0000001d:0000001d:00000000 virt_caps : hvm total_memory : 1983 free_memory : 112 node_to_cpu : node0:0 node_to_memory : node0:112 xen_major : 3 xen_minor : 4 xen_extra : .2 xen_caps : xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xf5800000 xen_changeset : unavailable cc_compiler : gcc version 4.4.2 (Debian 4.4.2-4) cc_compile_by : root cc_compile_domain : cc_compile_date : Thu Dec 10 14:32:51 EET 2009 xend_config_format : 4
clint:~$ uname -a Linux sergey 2.6.26-2-xen-686 #1 SMP Wed Aug 19 08:47:57 UTC 2009 i686 GNU/Linux
Конфигурационный файл виртуальной машины win2008:
clint:~$ egrep -v "^ *$|^#.*$" /etc/xen/win2008 kernel = "/usr/lib/xen/boot/hvmloader" builder='hvm' memory = 1024 shadow_memory = 8 name = "win2008" acpi=1 vif = [ 'type=ioemu, mac=00:16:3e:36:7d:62, bridge=br0'] disk = ['phy:/dev/vm/win2008,hda,w', 'file:/home/clint/MyDoc/iso/windows-server-2008-en.iso,hdc:cdrom,r' ] device_model = "/usr/lib/xen/bin/qemu-dm" boot="d" sdl=0 vnc=1 vncdisplay=25 localtime=1 usbdevice='mouse' usbdevice='tablet' monitor=1
Где /dev/vm/win2008 — LVM-том:
clint:~$ sudo lvdisplay /dev/vm/win2008 --- Logical volume --- LV Name /dev/vm/win2008 VG Name vm LV UUID z1L0qh-U1Y2-1YyW-3tZc-EQKN-2k0k-TLWH70 LV Write Access read/write LV Status available # open 0 LV Size 15,00 GiB Current LE 3840 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0
После инсталляции ОС можно посмотреть список устройств и сведения о системе:
[править] Запуск Windows Server 2008 по PXE
[править] Сборка iscsitarget
Получение архива исходных текстов
wget -c http://switch.dl.sourceforge.net/project/iscsitarget/iscsitarget/1.4.19/iscsitarget-1.4.19.tar.gz
Распаковка и компиляция
sudo tar xzf iscsitarget-1.4.19.tar.gz cd iscsitarget-1.4.19/ vim README sudo make sudo make install
[править] Настройка iSCSI Enterprise Target Daemon
clint:~$ sudo egrep -v "^ *$|^#.*$|#" /etc/ietd.conf Target iqn.2009-12.clinika.local:dev.vm.win2008 Lun 0 Path=/dev/vm/win2008,Type=blockio
[править] Сборка gPXE
Получение архива исходных текстов:
wget -c http://kernel.org/pub/software/utils/boot/gpxe/gpxe-0.9.9.tar.gz
Сборка:
sudo apt-get install syslinux mkisofs sudo tar xzf gpxe-0.9.9.tar.gz cd gpxe-0.9.9/ vim README cd src/ sudo make
Возникла ошибка сборки, в данном примере модуль atl1e не критичен, поэтому:
sudo mv drivers/net/atl1e* /tmp sudo make ls -lh bin/gpxe.iso
[править] Настройка DHCP-сервера
clint:~$ dpkg -l | grep dhcp.*server ii dhcp3-server 3.1.3-1 DHCP server for automatic IP address
Конфигурационный файл dhcp3-server:
clint:~$ sudo egrep -v "^ *$|^#.*$|#" /etc/dhcp3/dhcpd.conf ddns-update-style none; log-facility local7; option space gpxe; option gpxe-encap-opts code 175 = encapsulate gpxe; option gpxe.priority code 1 = signed integer 8; option gpxe.keep-san code 8 = unsigned integer 8; option gpxe.no-pxedhcp code 176 = unsigned integer 8; option gpxe.bus-id code 177 = string; option gpxe.bios-drive code 189 = unsigned integer 8; option gpxe.username code 190 = string; option gpxe.password code 191 = string; option gpxe.reverse-username code 192 = string; option gpxe.reverse-password code 193 = string; option gpxe.version code 235 = string; option iscsi-initiator-iqn code 203 = string; default-lease-time 600; max-lease-time 7200; option domain-name "clinika.local"; option domain-name-servers 192.168.7.254; subnet 192.168.7.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.7.200 192.168.7.240; option subnet-mask 255.255.255.0; next-server 192.168.7.254; option root-path "iscsi:192.168.7.254:6:3260:0:iqn.2009-12.clinika.local:dev.vm.win2008"; option gpxe.keep-san 1; option routers 192.168.7.254; }
clint:~$ sudo egrep -v "^ *$|^#.*$|#" /etc/default/dhcp3-server INTERFACES="br0"
[править] Запуск виртуальной машины по PXE
Конфигурационный файл виртуальной машины только с iso-образом gPXE:
clint:~$ sudo egrep -v "^ *$|^#.*$|#" /etc/xen/win2008 kernel = "/usr/lib/xen/boot/hvmloader" builder='hvm' memory = 1024 shadow_memory = 8 name = "win2008" acpi=1 vif = [ 'type=ioemu, mac=00:16:3e:36:7d:62, bridge=br0'] disk = ['file:/usr/src/gpxe-0.9.9/src/bin/gpxe.iso,hdc:cdrom,r' ] device_model = "/usr/lib/xen/bin/qemu-dm" boot="d" sdl=0 vnc=1 vncdisplay=25 localtime=1 usbdevice='mouse' usbdevice='tablet' monitor=1
Запуск виртуальной машины
clint:~$ sudo xm create /etc/xen/win2008
В результате: