nas: 파일전송 방식(서버에 다운로드 작업 후 전송)
das: 블록 전송 방식(서버에 직접 접근 작업)
iscsi 프로토콜을 사용해 NAS를 DAS 처럼 사용 한다.
스토리지 장비에서 반틈을 das, 또 다른 반틈은 NAS를 사용할 때 iscsi 방식을 사용한다.
iPXE 부팅
필수 패키지 설치
apt-get -y install tftpd-hpa isc-dhcp-server build-essential samba liblzma-dev mkisofs unzip iscsitarget
syslinux 다운로드 및 설치
cd /usr/src
mkdir pxe
cd pxe
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/6.xx/syslinux-6.03.tar.gz
tar -zxvf syslinux-6.03.tar.gz
cd syslinux-6.0.3
make #this will fail, it's ok
cp ./bios/core/pxelinux.0 /var/lib/tftpboot/
cp ./bios/com32/elflink/ldlinux/ldlinux.c32 /var/lib/tftpboot/
cp ./bios/com32/libutil/libutil.c32 /var/lib/tftpboot/
cp ./bios/com32/menu/menu.c32 /var/lib/tftpboot/
cp ./bios/memdisk/memdisk /var/lib/tftpboot/
dhcpd eth1 적용
auth eth1
iface eth1 inet static
address 192.168.69.1
netmask 255.255.255.0
인터페이스 활성화
ifup eth1
DHCP 구성 설정 파일 /etc/dhcp/dhpcd.conf 추가
cat /etc/dhcp/dhcpd.conf
# DHCP server is authoritative for all networks
authoritative;
# extra options
# RFC3442 routes
option rfc3442-classless-static-routes code 121 = array of integer 8;
# MS routes
option ms-classless-static-routes code 249 = array of integer 8;
pid-file-name "/var/run/dhcp-server/dhcpd.pid";
ddns-update-style none;
option domain-name-servers 127.0.0.1;
allow booting;
allow bootp;
default-lease-time 1800;
max-lease-time 7200;
shared-network eth1 {
subnet 10.10.10.0 netmask 255.255.255.0 {
option routers 10.10.10.1;
option domain-name "nemo.lan";
option domain-name-servers 10.10.10.1;
option ntp-servers 10.10.10.1;
default-lease-time 1800;
max-lease-time 7200;
pool {
next-server 10.10.10.1;
option tftp-server-name "10.10.10.1";
filename "pxelinux.0";
range 10.10.10.2 10.10.10.254;
}
}
group {
option routers 10.10.10.1;
option domain-name "nemo.lan";
option domain-name-servers 10.10.10.1;
option ntp-servers 10.10.10.1;
default-lease-time 1800;
max-lease-time 7200;
}
}
dhcp 서비스 시작
/etc/init.d/isc-dhcp-server start
iPXE 설치
cd /usr/src
git clone git://git.ipxe.org/ipxe.git
cd ipxe/src
make
cp ./bin/undionly.kpxe /var/lib/tftpboot/
wimboot 다운로드
cd /usr/src
wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
unzip wimboot-latest.zip
cp wimboot-2.5.1-signed/wimboot /var/lib/tftpboot/
iPXE 스크립트 생성
cd /var/lib/tftpboot
vi win7.ipxe
#!ipxe
dhcp
set keep-san 1
sanhook iscsi:10.10.10.1::::iqn.2013-10.net.thebugshop:windows7
set boot-url tftp://10.10.10.1
initrd ${boot-url}/distros/windows/winpe4_amd64.iso
kernel ${boot-url}/memdisk iso raw
boot
디렉토리 생성
cd /var/lib/tftpboot
mkdir -p distros/windows
cd distros/windows
tftpboot 파일 수정
/etc/default/tftpd-hpa
cat /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
tftpd 시작
/etc/init.d/tftpd-hpa start
lkrn 다운로드
wget --no-check-certificate "https://rom-o-matic.eu/build.fcgi?BINARY=ipxe.lkrn&BINDIR=bin&REVISION=master&DEBUG=&EMBED.00script.ipxe=&general.h/PXE_STACK:=1&general.h/DOWNLOAD_PROTO_NFS:=1&general.h/SANBOOT_PROTO_ISCSI:=1&" -O /var/lib/tftpboot/ipxe.lkrn
pxelinux.cfg 구성
cd /var/lib/tftpboot
mkdir pxelinux.cfg
cd pxelinux.cfg
vi default
DEFAULT menu.c32
LABEL Windows 7 Install
MENU LABEL Windows 7 Install
KERNEL ipxe.lkrn
INITRD win7.ipxe
타켓 컴퓨터 pxe 부팅 모드 진입
윈도우 7 빈 이미지 파일 생성
cd /var/lib/tftpboot
dd if=/dev/zero of=/var/lib/tftpboot/windows7.img bs=1M count=20000
iscsi 타켓 수정
vi /etc/default/iscsitarget
ISCSITARGET_ENABLE=true
ISCSITARGET_MAX_SLEEP=3
# ietd options
# See ietd(8) for details
ISCSITARGET_OPTIONS=""
ietd.conf 수정
vi /etc/iet/ietd.conf
Target iqn.2013-10.net.thebugshop:windows7
IncomingUser
OutgoingUser
Lun 0 Path=/var/lib/tftpboot/windows7.img,Type=fileio
Alias Windows7
서비스 시작
/etc/init.d/iscsitarget start
ADK 다운로드 설치
http://www.microsoft.com/en-US/download/details.aspx?id=39982
AIK 다운로드 설치
http://www.microsoft.com/en-us/download/details.aspx?id=5753
내 컴퓨터> 등록 정보> 고급 시스템 설정> 환경 변수> 시스템 변수> 경로> 편집
다음 내용 추가
;C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment
배포 및 이미지 환경
cd \
copype amd64 C:\WinPE_amd64
cd WinPE_amd64
mkdir ISO
copy "c:\Program Files\Windows AIK\Tools\PETools\amd64\winpe.wim" c:\WinPE_amd64\ISO\
copy "C:\Program Files\Windows AIK\Tools\amd64\Imagex.exe" C:\Winpe_amd64\ISO\
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\winpe4_amd64.iso
winpe4_amd64.iso를 /var/lib/tftpboot/distros/windows/ 서버 복사(winscp)
pxe 부팅화면 확인
삼바 설정
mkdir -p /var/lib/tftpboot/windows/win7
mkdir /mnt/cdrom
mount -o loop win7.iso /mnt/cdrom
cp -R /mnt/cdrom/*
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[win7]
path = /var/lib/tftpboot/windows/win7
comment = Windows 7 Installation DVD
valid users = "bugshop"
writeable = no
browseable = yes
read only = yes
암호설정
useradd bugshop
smbpasswd -a bugshop
서비스 시작
service smbd start
service nmbd start
파일 생성
vi /var/lib/tftpboot/win7.iscsi
#!ipxe
dhcp set keep-san 1
sanboot iscsi:192.168.69.1::::iqn.2013-10.net.thebugshop:windows7
boot
vi /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu.c32
LABEL Windows 7
MENU LABEL Windows 7
KERNEL ipxe.lkrn
INITRD win7.iscsi
LABEL Windows 7 Install
MENU LABEL Windows 7 Install
KERNEL ipxe.lkrn
INITRD win7.ipxe
윈도우 설치 시작
댓글 없음:
댓글 쓰기