2013년 9월 12일 목요일

리눅스 Windows Diskless with AoE 방식 구축법 노하드(디스크레스)

Windows Diskless with AoE












윈도우즈 Diskless with AoE 방식으로 기존 ISCSI 방식이랑 비슷합니다.
단지, ATA over Ethernet 방식으로 한다는 차이일뿐 입니다. ISCSI와 속도도 비슷한거 같습니다.
포스팅할 리눅스 방식은 openSUSE 12.264-bit x86 기반으로 구축된 Diskless 전용 리눅스 배포판을 이용하여 구축할 예정입니다. 초보자 분들도 어렵지 않게 따라 할수 있게 필요한 RPM들이 이미 모두 설치되어 있어 운영체제를 설치 후에 간단한 설정 후 바로 사용할수 있습니다.
이제 포스팅을 시작해보겠습니다.

*출저 및 ISO파일 다운로드 경로*
Windows Diskless with AoE Server Linux Distro 서버를 구동하기 위한 최소사항입니다.



A modern CPU multi-core 2 Ghz or more;
Minimun 2 Gb of RAM on Server; Recommended 4 Gb RAM;
Minimun 128 Gb for Hard; Recommended 02 SSD hard disks in RAID 0;
01 Fast or Gigabit Network Interface; Recommended two Gigabit NICs for Bond Interface;

1. Diskless with AoE 설치


*설치단계*

다운로드를 시작합니다. 다운로드를 받기 위해서는 구글계정이나 페이스북 계정이 필요하니 다운 받기전에 계정생성이나 기존에 사용하던 계정을 이용하시기 바랍니다.



CD를 넣고 CD부팅을 하면 다음과 같은 화면이 나와야 정상입니다. 필자는 VMWARE를 이용하여 설치를 진행하도록 하겠습니다. 상단 그림과 같이 Install windows_Diskless_with_AoE를 선택하고 다음으로 진행합니다.


 설치 될 하드 디스크를 전체 삭제하기전에 백업해야할 데이터들이 있으면 백업하시고 진행하시면 됩니다. VMWARE를 이용하여 설치하시는 분들은 Yes눌러서 설치진행하시면 됩니다.

 도메인은 그냥 손대실거 없고 Hostname만 자신이 넣고 싶은것으로 넣고 Tab로 Next선택하여 넘어가세요.

랜카드가 잡혀 있는데 밑에 Change 부분을 선택하여 밑에 그림처럼 IP를 수동으로 입력해주세요. 


수동으로 입력해야하는 이유는 가끔 재부팅할때마다 IP를 다르게 받아오는 경우가 생기기 때문이니 꼭 수정으로 잡아주시면됩니다. 게이트웨이부분은 나중에 설정하면 되니 우선 IP Address 부분과 Subnet Mark 입력하고 다음으로 넘어가시면 설치가 완료됩니다

계정은 root 이면 비밀번호는 diskless 가 디폴트로 설정되어 있습니다. 접속하여


Diskless login:root  <=root 계정
Password:diskless <=디폴트 Password
root:/# yast network <=네트워크 설정


오른쪽으로 가면 Routing이라는 탭 항목에 Deafult gateway 설정하는 부분에서 게이트웨이 설정하고 IP Fowrding 부분에 체크하고 Ok누르시고 나오시면됩니다.  ping 8.8.8.8 로 핑이 정상적으로 나가면 인터넷이 정상적으로 연결된 상태가됩니다. 이제 설치 및 인터넷되는 환경까지는 모두 완료가 되는 상태가 됩니다.

2. DHCP 서버 설정 및 Tftp-server 설정

DHCP 서버 설정

LAN부팅을 할 때 IP를 받아오기 설정을 위한 DHCP서버 설정을 해보겠습니다.

Diskless:vi /etc/opendhcp/opendhcp.ini

vi 로 opendhcp.ini 파일을 열어보면 아래와 같이 나와있습니다.

[LOGGING]
LogLevel=All

#6789

[GLOBAL_OPTIONS]
SubNetMask=255.255.255.0                             <=넷마스크 설정
Router=192.168.100.1                                      <= 게이트웨이 설정
NextServer=192.168.100.10                               <= 서버 IP 설정
BootFileName="/pxelinux.0"

[00:50:56:35:ef:14]                                           <= IP받을 클라이언트 맥주소
IP=192.168.100.50                                              <= 해당 클라이언트 맥주소에 할당IP
HostName=PC01                                               <= 호스트 이름 

위에 내용처럼 설정을 모두 다 하시고 service opendhcpd restart 하면 DHCP설정은 모두 끝납니다.

TFTP-SERVER 설정


01- 과 함께 시작하여 위에 DHCP 설정했을때 넣었던 맥주소를 함께 넣어주세요. 다음과 같이요. cp 명령어는 복사 명령어로 기존에 있던 파일을 새로운 맥주소와 같이 복사해주시면됩니다.

Diskless:/srv/tftpboot/pxelinux.cfg # cp 01-08-00-27-3c-5c-db 01-00-50-56-35-ef-14

 복사한 파일을 vi 로 열어보면 다음과 같이 나와있습니다.

SAY iPXE ISO boot image
TIMEOUT 30
DEFAULT ipxe.lkrn
LABEL ipxe.lkrn
 KERNEL ipxe.krn
 INITRD pxelinux.cfg/aoe01.ipxe

뒤에 aoe00.ipxe 이 파일 중요한데 aoe00 이 타겟번호입니다. 기억하기 좋게 PC01에는 01로 설정을 해도록 하죠. 그러면 pxelinux.cfg 폴더안에 있는 aoe01.ipxe 파일이 필요하겠죠?
위에서 복사했던것처럼 복사를 합니다.

Diskless:/srv/tftpboot/pxelinux.cfg # cp aoe00.ipxe aoe01.ipxe

자.. 복사를 하셨으면 vi 로 aoe01.ipxe 파일을 열어보세요.

#!ipxe
:retry_dhcp
dhcp net0 && isset ${net0/ip:ipv4} || goto retry_dhcp
route
set use-cached 1
set keep-san 1
echo IP configuration:
echo ${net0/ip:ipv4}
echo "Preparing to Diskless Boot !"
echo ${hostname}

sanboot aoe:e0.1

파일을 열면 다음과 같이 나오는데 제일밑에 sanboot aoe:e0.0 이라는 부분을 aoe:e0.1 로 변경하고 저장하고 나옵니다. 이 부분에서 왜 이거를 해야하는지를 알아야하는데
나중에 vblade 라는 명령어로 이미지를 마운트 시킬겁니다. 

vblade 0 1 eth0 pc01.vhd &
vblade 0 2 eth0 pc02.vhd &

이런 형태로 말이죠. 이미지하나에 여러 컴퓨터가 사용하지 못하기때문에 타겟을 각각 PC마다 지정을 해줘야됩니다. 0 1 이 aoe:e0.1 형태로 들어오는거죠. 이해가셨죠? aoe01.ipxe 파일도 마찬가지이고 01-맥주소 형태의 파일안에서도 aoe01.ipxe 로 변경하여 타겟을 서로 맞추는 형태라고 생각하시면되요. 피시방에 PC가 60대라면  0 0~60 으로 가고 aoe01.ipxe ~ aoe60.ipxe 까지 만들어서 사용하시면 되겠죠?~
자 이제 모든게 준비가 되었습니다! 이미지를 제외하고 자 이미지를 넣기전에 한번 LAN 부팅이 정확히 되는지 확인을 해보도록 하죠~ 하기전에 tftp 데몬이 돌고 있지 않으니 데몬부터 시작해줍니다.

Diskless#:yast tftp-server


위에 처럼 Enable 로 변경해주시고 OK 누르시고 나오면 이제 랜부팅을 해보도록 하죠~


위에 처럼 랜부팅이 정상적으로 되네요. 하지만 하드가 인식을 하지 못하니 당연히 Operating System not found 라고 뜨는게 정상이겠죠? 이제 윈도우를 부팅할수 있게 하드를 장착해봅시다.


그거를 하기전에 df -h 명령어로 매직볼륨이 정상적인지 확인부터 해봅니다. 제일 밑에 MagicVolume 1000G라고 적혀 있죠? 이 부분까지만 우선 확인하고 다음으로 넘어가죠.
cd /mnt/magicvolume 폴더로 이동합니다.

Diskless:/mnt/magicvolume #VBoxManage createhd --filename pc01.vhd --size 20000 --format VHD --variant Fixed

이동 후에 위에 명령어로 vhd 파일을 생성해주세요. 그럼 다음과 같이 20기가짜리 파일하나가 생성이 되어있을 겁니다. 용량이 더 필요하거나 넉넉하시다면 20기가 이상으로 생성해주시면 됩니다.



생성이 완료되었으면 이제 vblade 를 이용하여 마운트를 합니다.

Diskless:/mnt/magicvolume #vblade 0 1 eth0 pc01.vhd &


위에 그림 처럼 뜨면 정상적으로 마운트가 된 겁니다. 이제 마운트 된 곳을 클라이언트(PC01이 될 PC)에서 연결을 해보도록 하죠.
 http://www.starwindsoftware.com/aoe-ataoverethernet-initiator 이 곳에서 파일을 다운로드를 하여 설치를 해주세요. 다운로드를 받기 위해서는 회원가입을 하셔야합니다.



설치가 완료되고 Add Device 그리고 자신의 랜카드를 선택하면 짜잔 0.1 아까전에 설정한 맥주소가 보이죠? 이거를 선택하고 다음을 눌러주세요. 그러면 이제 장치 드라이버 소프트웨어가 설치되면서 클라이언트 하드에 연결이 됩니다. 설치가 완료가되면 제어판->관리도구->컴퓨터관리->디스크 관리를 선택해보세요!




하드 디스크로 인식이 되어 있습니다! 자 이제 마지막으로 남은 것은 클라이언트의 이미지를 해당 하드에 옮기는 작업만 하면 모든게 끝납니다. 확인을 하고 포맷을 해주세요. 다음과 같은 명령어로 사용량을 확인해볼수 있습니다.



sdfscli --snapshot --file-path=pc01.vhd --snapshot-path=pc02.vhd

3. 클라이언트 설정

VMWARE 에 Windows 7 32bit를 설치합니다. 윈도우 설치 과정은 생략하겠습니다. 그리고 관리자 administrator 계정으로 로그인상태까지 완료합니다.
Command 창을 열어 다음과 같은 명령어를 입력합니다.


C:\>bcdedit -set TESTSIGNING ON
C:\>bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
다음과 같은 작업을 하는 이유는 aoedriver 를 설치해야하는데 위에 명령어를 적용하지 않으면
드라이버가 제대로 설치가 되지 않아서 위에 명령어를 입력해야 설치가 정상적으로 됩니다. 작업이 완료되었으면 재부팅합니다.

aoedriver 는 다음 링크에서 다운받습니다. http://www.mediafire.com/download/4v0sijlzttrjxub/winaoe.zip



압축을 푸시고 시스템에 장치 관리자에 들어가서 하드웨어 추가를 해줍니다.
"목록에서 직접 선택한 하드웨어 설치"를 선택하시고 "저장소 컨트롤러"하드웨어를 선택하고 압축풀었던 aoe.inf 파일을 선택하여 드라이버를 추가합니다. 드라이버 설치가 완료되었으며 다시 재부팅합니다.(하드웨어 설치하는 방법에 대해서는 다들 아실거라 생각하고 간단히 설명합니다)

드라이버가 설치되고 재부팅후에 커맨드 창에서 다음과 같은 명령어를 입력합니다.


커맨드 창에서 aoe scan 이라고 명령어를 치면 위에 사진처럼 맥주소와 타겟이름이 나오면 정상적으로 드라이버가 설치된것입니다. 그리고 aoe mount 로 마운트를 해줍니다.
위에서 설명했던 것처럼 Starwind Aoe initiator프로그램과 똑같다고 생각하시면 됩니다.


그리고 컴퓨터관리의 디스크 관리로 가면 디스크 초기화하라는 창이 나올것입니다. 초기화를 해주시고 포맷까지 해주시면 됩니다. (꼭 하실 필요는 없습니다) 포맷이 완료되었으면
윈도우즈의 데이타를 옮기는 작업만 하면됩니다. 랜부팅을 하고 나서 OS부팅에 필요한 파일들을 복사하기위해 필자는 HDClone이라는 프로그램을 사용하여 복사를 해보겠습니다.

프로그램 다운로드 링크는 http://www.miray.de/products/sat.hdclone.html 이곳에서 다운받아 무료로 사용하실수 있습니다. 일부 기능은 제한이 되나 복사하는데는 문제없습니다.


사용법은 간단합니다. Cloning에서 Copy Disk를 선택하고 Next


소스지 드라이브를 선택해줍니다. C:\드라이브의 이미지를 20Gbyte 쪽에 복사를 해야하니 1:IDE를 선택하고 Next


타겟 드라이브는 복사할 드라이브의 위치로 2: IDE를 선택하고 Next


용량조정하는 부분에서는 그냥 Continue로 넘어갑니다.


그리고 Start copying 으로 복사를 시작하면 모든 작업이 끝나게 됩니다. 그리고 다시 랜부팅을 하게되면 윈도우로 부팅됩니다.

*아직 편집중...*