차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| btrfs를_응용한_no-hdd_pc방_구축 [2015/06/18 15:48] – 만듦 admin | btrfs를_응용한_no-hdd_pc방_구축 [2015/06/18 15:49] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| + | ====== btrfs를 이용한 No-HDD PC방 구축 ====== | ||
| + | :!: 원글 링크 : http:// | ||
| + | |||
| + | ===== 0. 우분투 설치 ===== | ||
| + | btrfs file system 사용할 파티션 생성 | ||
| + | /iscsi < | ||
| + | |||
| + | * DHCP 서버 | ||
| + | * TFTP 서버 | ||
| + | * ISCSI 서버 | ||
| + | * BTRFS 화일 시스템 | ||
| + | |||
| + | ===== 1. 네트웍 설정 ===== | ||
| + | 서버의 IP 어드레스를 설정 합니다 | ||
| + | <code vim> | ||
| + | / | ||
| + | |||
| + | auto eth0 | ||
| + | iface eth0 inet static | ||
| + | address 211.168.0.3 | ||
| + | netmask 255.255.255.0 | ||
| + | gateway 211.168.0.1 | ||
| + | dns-nameservers 168.124.101.2 | ||
| + | </ | ||
| + | |||
| + | ===== 2. 서버 프로그램 인스톨 ===== | ||
| + | |||
| + | 우분투는 인터넷에 연결되어 있으면 필요한 프로그램을 설치하기가 쉽습니다.. | ||
| + | |||
| + | * # DHCP 서버 프로그램 설치 | ||
| + | < | ||
| + | root:/# | ||
| + | </ | ||
| + | |||
| + | * #TFTP 서버 프로그램 설치 | ||
| + | < | ||
| + | root:/# | ||
| + | root:/# | ||
| + | root:/# | ||
| + | </ | ||
| + | |||
| + | * # | ||
| + | < | ||
| + | root:/# | ||
| + | </ | ||
| + | |||
| + | * #iscsi 서버 설치 | ||
| + | < | ||
| + | root:/# | ||
| + | </ | ||
| + | |||
| + | ===== 3. ISCSI 볼륨 만들기 ===== | ||
| + | |||
| + | - 위의 프로그램이 전부 인스톨 되어 있으면 프로그램 세팅에 들어갑니다.. ISCSI TARGET 설정으로 하드가 없는 클라이언트에 하드 디스크 볼륨을 만들어 줍니다.. | ||
| + | |||
| + | - 처음에 리눅스 인스톨할때 BTRFS 파일 시스템 100G 로 /iscsi 로 마운트 해서 만들 었습니다. | ||
| + | 주의 : 100G 가 파일시스템을 만들었으면 새로 생성될 이미지 크기는 50% 정도만 사용해야 사용중 Full 상태가 안날수 있습니다. | ||
| + | |||
| + | < | ||
| + | root:/# mkdir / | ||
| + | root:/# chmod 755 / | ||
| + | root:/# btrfs subvolume create / | ||
| + | root:/# chmod 755 / | ||
| + | </ | ||
| + | |||
| + | - 볼륨 이미지 생성 | ||
| + | < | ||
| + | root:/# dd if=/ | ||
| + | </ | ||
| + | 50기가의 빈 파일을 생성합니다 | ||
| + | |||
| + | * / | ||
| + | ISCSITARGET_ENABLE=true | ||
| + | |||
| + | * / | ||
| + | <code vim> | ||
| + | Target iqn.2014-08.vitamin.com: | ||
| + | Lun 0 Path=/ | ||
| + | Alias client1 | ||
| + | MaxConnecions | ||
| + | </ | ||
| + | |||
| + | * Iscsi target 재시작 | ||
| + | < | ||
| + | root:/# service iscsitarget restart | ||
| + | </ | ||
| + | | ||
| + | |||
| + | ===== 4. 클라이언트가 연결할 DHCP, TFTP, gPXE 설정 ===== | ||
| + | http:// | ||
| + | 에서 undionly.kpxe 를 다운로드 합니다.. | ||
| + | |||
| + | * dhcp 설정 | ||
| + | <code vim> | ||
| + | / | ||
| + | |||
| + | subnet 211.168.0.0 netmask 255.255.255.0 { | ||
| + | range dynamic-bootp 211.168.0.11 211.168.0.185; | ||
| + | option domain-name-servers 164.124.101.2, | ||
| + | option broadcast-address 211.168.0.255; | ||
| + | option routers 211.168.0.1; | ||
| + | authoritative; | ||
| + | |||
| + | } | ||
| + | host client1 { | ||
| + | hardware ethernet 00: | ||
| + | fixed-address 192.168.0.10; | ||
| + | option host name " | ||
| + | if exists user-class and option user-class = " | ||
| + | filename ""; | ||
| + | option root-path " | ||
| + | } else { | ||
| + | filename " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 위에서 중요한것은 클라이언트의 맥어드레스 입니다.. | ||
| + | 클라이언트의 CMOS SETUP 에 들어가 랜카드로 부팅이 가능하도록 Boot from LAN 을 Enable 로 | ||
| + | 바꾸고 부팅순서도 NETWORK 을 1 번으로 바꾸고 부팅을 하면 | ||
| + | |||
| + | |||
| + | |||
| + | - TFTP 설정 | ||
| + | |||
| + | / | ||
| + | <code vim> | ||
| + | service tftp | ||
| + | { | ||
| + | disable | ||
| + | socket_type | ||
| + | protocol | ||
| + | wait = yes | ||
| + | user = nobody | ||
| + | server | ||
| + | server_args | ||
| + | } | ||
| + | </ | ||
| + | ############################# | ||
| + | |||
| + | 아까 다운받은파일 gpxe-1.0.1-undionly.kpxe 는 | ||
| + | /tftpboot 폴더로 복사하여 이름을 gpxe.kpxe 로 바꾸어 놓습니다. | ||
| + | |||
| + | /tftpboot 폴더는 존재하지 않는 폴더니 새로 만드셔야 합니다. | ||
| + | #mkdir /tftpboot 하시면 됩니다. | ||
| + | |||
| + | * DHCP 서버 재시작 | ||
| + | < | ||
| + | root:/# | ||
| + | </ | ||
| + | |||
| + | 이렇게 되면... 원본 마스터 서버가 만들어져습니다. | ||
| + | 이제 10개에서 100개 무한대로 파일 시스템 스냅샷입니다. | ||
| + | < | ||
| + | btrfs subvolume snapshot / | ||
| + | btrfs subvolume snapshot / | ||
| + | btrfs subvolume snapshot / | ||
| + | </ | ||
| + | 사용할 pc대수 만큼 만들어 줍니다. | ||
| + | / | ||
| + | 새로만든 스넵샷 pc에 연결 하기 | ||
| + | 위에 / | ||
| + | |||
| + | <code vim> | ||
| + | Target iqn.2014-08.vitamin.com: | ||
| + | Lun 0 Path=/ | ||
| + | MaxConnecions 1 | ||
| + | Target iqn.2014-08.vitamin.com: | ||
| + | Lun 0 Path=/ | ||
| + | MaxConnecions 1 | ||
| + | Target iqn.2014-08.vitamin.com: | ||
| + | Lun 0 Path=/ | ||
| + | MaxConnecions 1 | ||
| + | </ | ||
| + | |||
| + | dhcp에 연결설정 합니다 / | ||
| + | 아까 만들어 놓은 파일에 추가 합니다. | ||
| + | / | ||
| + | <code vim> | ||
| + | subnet 211.168.0.0 netmask 255.255.255.0 { | ||
| + | range dynamic-bootp 211.168.0.11 211.168.0.185; | ||
| + | option domain-name-servers 164.124.101.2, | ||
| + | option broadcast-address 211.168.0.255; | ||
| + | option routers 211.168.0.1; | ||
| + | authoritative; | ||
| + | } | ||
| + | host master { | ||
| + | hardware ethernet 00: | ||
| + | fixed-address 211.168.0.10; | ||
| + | option host name " | ||
| + | if exists user-class and option user-class = " | ||
| + | filename ""; | ||
| + | option root-path " | ||
| + | } else { | ||
| + | filename " | ||
| + | } | ||
| + | } | ||
| + | host pc01 { | ||
| + | hardware ethernet 00: | ||
| + | fixed-address 211.168.0.11; | ||
| + | option host name " | ||
| + | if exists user-class and option user-class = " | ||
| + | filename ""; | ||
| + | option root-path " | ||
| + | } else { | ||
| + | filename " | ||
| + | } | ||
| + | } | ||
| + | host pc02 { | ||
| + | hardware ethernet 00: | ||
| + | fixed-address 211.168.0.12; | ||
| + | option host name " | ||
| + | if exists user-class and option user-class = " | ||
| + | filename ""; | ||
| + | option root-path " | ||
| + | } else { | ||
| + | filename " | ||
| + | } | ||
| + | } | ||
| + | host pc03 { | ||
| + | hardware ethernet 00: | ||
| + | fixed-address 211.168.0.13; | ||
| + | option host name " | ||
| + | if exists user-class and option user-class = " | ||
| + | filename ""; | ||
| + | option root-path " | ||
| + | } else { | ||
| + | filename " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | 위에 | ||
| + | pc01 스냅샷 파일을 만들고 iscsi에서 연결할 스냅샷 이미지을 path을 설정하고 | ||
| + | tftp 부팅시 iscs에서 pc01에 만들어 놓은 이미지을 연결합니다. | ||
| + | |||
| + | 만약 pc01번을 사용하다 초기화 해야될 상항이 생기면 | ||
| + | < | ||
| + | #ietadm --op delete --tid=1 --lun=0 | ||
| + | #btrfs subvolume delete / | ||
| + | #btrfs subvolume snapshot / | ||
| + | #ietadm --op new --tid=1 --lun=0 --params Path=/ | ||
| + | </ | ||
| + | 이렇게 명령어 치시면 0.1초도 안되 초기화가 됩니다. | ||
| + | 프로그램 추가 하거지 삭제 하실꺼면 처음 만들어 놓은 master 이미지로 부팅해서 | ||
| + | 추가 하거나 삭제 하시고 | ||
| + | master 이미지에 윈도우 넣기는 | ||
| + | 일반 pc에 하드 달고 정상적이 윈도우 설치하고 다른 파티션에 고스트 이미지 만든다음 | ||
| + | 윈도우 제어판 관리도구에 iscsi 클릭 | ||
| + | 연결에 만들어놓은 서버 ip 넣구 연결 | ||
| + | 그러면 master, pc01, pc02 pc03, 나오면 master 연결 | ||
| + | 그러면 윈도우에 물리적하드가 생성됩니다. | ||
| + | 관리도구 디스크에서 온라인 시키고 포맷 한다음 | ||
| + | 아까 만들어 놓은 고스트 이미지 새로연결된 iscsi 에 밀어 놓기 하면 끝납니다. | ||
| + | 원본하드 윈도우 설치후 아래 픽스 설치 하셔야 부팅시 불루 스크인 안뜹니다 | ||
| + | http:// | ||
| + | http:// | ||