FOG (A free computer cloning solution)
홈페이지 : http://fogproject.org/

오픈소스 컴퓨터 이미징(복제) 시스템이다.
ghost를 연상하면 되는데, ghost는 도스버전밖에 모르므로 제대로 비교는 못함.

FOG는 서버에 설치하여 웹인터페이스를 통해 관리/운영한다.
복제 대상이 되는 호스트(즉, PC) 및 복제용 이미지 등을 관리하고, 이미지 뜨기/입히기 등의 작업을 웹으로 제어한다.
이런 작업을 지원하기 위해 FOG 설치시 DHCP, TFTP, HTTP 서버 등이 모두 설정된다.

소개 페이지(http://www.fogproject.org/?q=node/1)에 직관적인 그림이 나오므로 참조..

레드햇 계열 (RHEL, Fedora, CentOS, ...) 및 데비안 계열 (Debian, Ubuntu, ...)에 설치 가능하다고 한다.
설치용 패키지 말고도, 아예 FOG가 미리 설치된 가상머신 이미지(VMWare용, VirtualBox용)도 배포된다.

Installation
    http://www.fogproject.org/wiki/index.php?title=Installation

나는 VirtualBox용 이미지가 있다는 것을 모르고, VMWare용 이미지를 받아서 VirtualBox에 가져다 썼다.
VMWare용 이미지는 Ubuntu 8.04 LTS 버전에 FOG 2.7이 설치된 상태로 배포된다.
우여곡절끝에 Ubuntu 10.04 LTS, FOG 3.2로 업그레이드된 상태로 VirtualBox에서 실행하게 되었는데,
가상머신 이미지만으로도 잘 동작했다.

    - Ubuntu 8.04/10.04 모두에서 FOG 3.2가 잘 동작했음
    - Ubuntu는 do-release-upgrade 명령으로 8.04 -> 10.04 업그레이드
    - FOG는 ssh 로긴하면 나오는 메뉴의 3) Check for update 를 이용하여 업데이트

서버가 구축되면, 복제 작업용 PC에서는 아무 준비 없이 PXE 부팅만 하면 된다.
FOG 서버에서 PC에 IP 부여 후 PXE 메뉴가 제공되고, PC에서 각 메뉴를 선택하면 그 기능을 실행할 FOG 커널
(서버와 소통하며 복제 관련 기본기능을 지원하는 Linux 기반 최소부트환경)도 제공된다.

가상머신에 구축된 FOG를 부팅하고,
복제용 PC를 연결하여 PXE 부팅을 하면 PC등록 / 복제 등의 기본 메뉴가 보인다.
그리고, 다른 PC에서 가상머신의 관리용 웹 인터페이스에 접근하여 이리저리 살펴보면 본격적인 온갖 작업메뉴가 보인다.


----

약간의 제약.

하드디스크에 파티션이 하나일 때는 원본과 복제 대상 하드디스크의 크기에 구애받지 않는데
하드디스크에 파티션이 복수일 때는 원본과 복제 대상 하드디스크가 같아야 하는 것 같다.
by 시험さま | 2012/02/07 01:01 | 컴퓨터 | 트랙백 | 덧글(37)
트랙백 주소 : http://chanik.egloos.com/tb/3802713
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 김한기 at 2012/04/01 23:42
안녕하세요. fog를 설치하여 한번 써보고싶은데 잘 안되네요.

일단 제가 이해한거로는 fog를 이용해서 빈 vmware이미지에 윈도우즈를 설치할수있는것같은데..

vmware pxe부팅에서 자꾸 안넘어가네요...;

fog에서 이미지 추가하고 그런것들 다 설정했는데...

그리고 제가 궁금한건 윈도우즈 xp를 설치하는데, xp이미지를 서버 어디에 두어야 하는건가요?
Commented by 시험さま at 2012/04/02 11:31
찾아보니, 이미지가 저장되는 위치는 FOG 서버의 "/images/이미지이름/" 디렉토리 입니다.
예를 들어 이미지 이름을 pc4dev 라고 지었다면 /images/pc4dev/ 디렉토리에 아래와 같은 식으로 파일들이 생깁니다.

- d1.mbr : 512바이트 MBR 이미지
- d1p1.img : 첫번째 파티션
- d1p2.img : 두번째 파티션

저는 특정 파티션을 복제한 것이 아니고 하드디스크 전체를 복제했기 때문에 이렇게 여러 개의 파일이 생겼지만
아마 특정 파티션 하나만 복제하는 경우엔 파티션 이미지 하나만 생길 것 같습니다.

그건 그렇고, 복제대상인 XP 이미지를 서버 어디에 두어야 하는지는 따로 신경쓸 필요가 없었습니다.
그냥 복제 이미지 이름 정해서 추가하고, 이후 복제대상PC 등록할 때 그 이미지와 연결시키면 되었죠.

- FOG 웹인터페이스에서 이미지 추가
- PXE 메뉴(복제대상PC를 PXE 부팅 성공했을때 나오는 메뉴)에서 OS 설치된 원본PC 등록.
이 때 이미지도 지정 가능. 만약 빼먹었을 경우엔 웹인터페이스에서도 지정 가능.
- 등록된 원본 PC에 대해 웹인터페이스의 Host Management -> Basic Tasks에서 Upload(즉, 원본이미지 생성) 선택.
- 이제 원본PC를 PXE 재부팅하면 자동으로 이미지 업로드 시작됨.
- 이후부터는 다른 PC에 복제 가능. 대상 PC PXE 부팅후 PC등록. 등록과 동시에 imaging할 수도 있고,
- 등록후 웹인터페이스의 Host Management -> Basic Tasks에서 Deploy 선택한 다음 대상PC 재부팅해도 됨.
Commented by 시험さま at 2012/04/02 12:06
PXE 부팅부터 문제가 된다면, 아마 원인이 두 가지중 하나일 것입니다.

[1] FOG 설치시 네트웍 설정이 부적절하여 PXE 부팅 자체가 실패함
==> PXE 부팅이 되려면 PXE 서버(즉, dhcpd/tftpd 등이 운영되는 FOG 서버)와 PC간의 망연결이 적절히 이루어져야 합니다. 특히 FOG 서버와 대상PC 모두 VMWare에서 구성하신 상태라면, 두 가상머신이 서로 망연결이 잘 되는지 확인해봐야 할 것입니다.

[2] PXE 부팅하여 PXE 메뉴는 나오는데, 이후 PC등록/Upload/Deploy에 쓰이는 Linux 커널이 문제를 일으킴
==> 저도 일부 PC에서 겪은 문제이며, 커널 업데이트로 해결 가능 (웹인터페이스의 Other Informations -> Kernel Updates에서 최신커널 다운로드)
Commented by 김한기 at 2012/04/02 17:20
음... 제가 fog를 잘못 이해한것같네요...

저는 iso확장자등으로 이루어진 윈도우즈xp등의 OS 이미지 파일이 fog서버에 저장되어있고,

빈 OS(?)를 pxe 부팅하여 서버에 존재하는 이미지들중에 하나를 선택해서 설치하는 그런건줄알았는데...

그게 아닌건가요...?

본 글에서도 말씀하신것처럼 노턴 고스트와 같은 기능인건가요...?

이미 os가 올라가있는 상태에서 fog클라이언트를 설치하여 서버에서 해당 클라이언트를 이미징한 후,

추후에 pxe부팅을 하여 복구(?)하는 형식으로 하는건가요??
Commented by 시험さま at 2012/04/02 18:27
OS의 원본 ISO (XP 혹은 Linux?) 이미지로부터의 자동설치 기능은 아닙니다.
(이런 기능은 Red Hat 계열 Linux에서는 Kickstart라는 이름으로 제공되기는 합니다만
클릭 몇 번으로 가능하지는 않고, 설치옵션/파티셔닝/망설정 등 어느정도 설정이 필요합니다)

FOG는 말씀하신대로 고스트처럼 이미 설치된 이미지를 뜨고 이를 복제하는 기능을 제공합니다.
서버에 이런 설치이미지가 하나 이상 저장되면, 다른 PC(OS 설치된 PC이든 그냥 텅빈 공PC이든)에서
이 이미지 가운데 아무거나 골라 복제할 수 있는 것이죠.
이미지를 뜨고 이를 복제하는 기능 모두 PXE 부팅을 통해 이루어집니다.

그리고, FOG 클라이언트는 따로 설치하는 것이 아닙니다. 복제대상PC는 PXE 부팅만 가능하면 되고,
이후의 모든 단계의 선택메뉴 및 그 실행에 필요한 소프트웨어는 다 FOG 서버가 제공하게 됩니다.
FOG 서버가 제공하는 소프트웨어는 사실상 작은 리눅스커널 하나뿐인데,
결국 ghost.exe를 FOG의 tftp 서버가 제공해주는 식이라고 비유하면 될 것 같습니다.

저는 써보지 않았지만, FOG에 고스트 멀티캐스트처럼 다수의 PC에 멀티캐스트 방식으로
동시다발로 복제하는 기능같은 것도 있는 모양입니다.
Commented by 김한기 at 2012/04/02 21:05
큰 도움이 되었습니다!! 답변 감사드립니다!! 번창하세요~
Commented by 김한기 at 2012/04/03 09:46
한번더 도와주세요 ㅠㅠ

http://youtu.be/jPPZr0abVfg

위 동영상대로 따라했는데...

역시 pxe 부팅이 안되네요...

fog server와 pxe부팅할 vm 둘다 브릿지로 네트웍 설정이 되어있고,

dhcp는 인터넷 공유기 입니다...

뭘 확인해봐야할까요...?
Commented by 시험さま at 2012/04/03 12:36
동영상에는 웹인터페이스를 이용한 이미지 등록 방법과,
이렇게 등록한 이미지에 실제로 OS 설치된 이미지를 업로드하는 방법이 나오네요.
저는 그냥 삽질했는데 이런 동영상 자료도 있었군요.. -_-

PXE 문제와 관련하여, 인터넷 공유기에서 제공되는 DHCP를 말씀하셨는데
DHCP서버는 FOG 서버에서도 제공되며 PXE 부팅을 위해서는 특별히 설정된 DHCP 서버가 필요합니다.
공유기의 범용 DHCP 서비스는 PXE 부팅에는 오히려 방해가 되죠.

공유기의 DHCP 서비스를 끄고 해보시거나,
공유기 설정을 건드리기 싫다면 FOG 서버 가상머신과 복제PC 가상머신의 연결을 Bridged 방식 말고
(동일 vmnet을 쓰는) Host-only 방식으로 서로 연결되도록 해 보면 어떨까 싶네요.
이 때 Host-only 방식에서 제공되는 내부 DHCP 서비스는 꼭 꺼야 하고요.
Commented by 시험さま at 2012/04/03 12:45
PXE 부팅과정을 생각나는대로 적어보면,

- 랜카드 하나만 믿고 PC가 부팅 시작. 이 PC는 자기 IP도 모르고
부팅할 커널이 어떤 종류인지 그리고 어디에 있는지조차 모름.
- PC는 우선 DHCP 서버를 탐색함. 특정 패킷을 브로드캐스팅으로 LAN에 던지겠죠.
- LAN 상에 DHCP 서버가 있다면 이에 응답하게 되는데, 이 서버는 단순히 IP 주소만 할당해주는 것이 아니고
부팅에 사용할 커널이 저장된 서버주소(TFTP서버)도 알려주어야 합니다.
- PC는 DHCP 서버로부터 IP를 부여받고, DHCP 서버가 알려준 TFTP 서버에 접근하여 부팅에 필요한 파일을 다운로드하는데,
TFTP 서버는 OS 커널을 바로 주지 않고 우선 pxelinux같은 부트실렉터를 줍니다.
- PC에서 pxelinux가 실행되면 PXE 메뉴가 화면에 나오게 됩니다. GRUB등의 OS/커널 선택화면과 비슷하죠.
이런 PXE 메뉴는 TFTP 서버쪽에서 텍스트 파일 형태로 적당히 설정한 것입니다. ( /tftpboot 아래 어딘가에 있음 )
메뉴는 MAC 어드레스 별, 혹은 MAC 그룹별로 따로 구성할 수도 있는 등.. 다양한 변화가 가능한데
FOG는 이런 수준까지는 아니지만 기본메뉴 구성은 알아서 다 해주죠.
어쨌든, 여기서 사용자의 선택이 이루어지면 실제 커널을 다운로드하여 본격적인 부팅에 돌입합니다.
FOG의 경우엔 FOG의 복제 기능을 넣어 특별히 구현한 리눅스커널이 다운로드 될 것입니다.

이렇기 때문에 FOG가 제공하는 DHCP 서버외의 제3의 DHCP 서버가 개입되면 PXE 부팅에 혼란이 생깁니다.
Commented by 김한기 at 2012/04/03 14:32
현재는 말씀해주신대로 공유기의 dhcp설정을 꺼두었습니다.

복제 vm과 fog서버 vm을 같은 vmnet로 하여 해봤지만... 역시 안되네요... ㅠㅠ

그래서 제생각엔 fog 서버의 설정문제같은데, 설정 한번 봐주시겠어요...?


Current Running FOG Version: 0.32
Latest Version: 0.32

FOG Server Configuration Menu
=============================

1) Configure IP address
2) Run FOG Setup
3) Check for update
4) Update Ubuntu
5) Show Disk Usage
6) Backup database
q) Quit

Please make a choice: 1

Enter an IP address: 192.168.0.53
Enter a Netmask address: 255.255.255.0
Enter a Gateway address: 192.168.0.1
Enter a DNS address: 8.8.8.8


IP settings updated.


Notice!
================================================
If you have already setup fog, you will need to
run the fog setup script again. You will also
need to update the ip address in the fog settings
table by logging into the fog management portal
and navigate to the other information section ->
fog settings.
=================================================
Press ENTER to continue.

FOG Server Configuration Menu
=============================

1) Configure IP address
2) Run FOG Setup
3) Check for update
4) Update Ubuntu
5) Show Disk Usage
6) Backup database
q) Quit

Please make a choice: 2


















..#######:. ..,#,.. .::##::.
.:###### .:;####:......;#;..
...##... ...##;,;##::::.##...
,# ...##.....##:::## ..::
## .::###,,##. . ##.::#.:######::.
...##:::###::....#. .. .#...#. #...#:::.
..:####:.. ..##......##::## .. #
# . ...##:,;##;:::#: ... ##..
.# . .:;####;::::.##:::;#:..
# ..:;###..

###########################################
# FOG #
# Free Computer Imaging Solution #
# #
# Created by: #
# SyperiorSoft #
# http://www.SyperiorSoft.com #
# Developers: #
# Chuck Syperski #
# Jian Zhang #
# #
# GNU GPL Version 3 #
###########################################

Version: 0.32 Installer/Updater


FOG Installer will NOT attempt to upgrade from
previous version of FOG.

What version of Linux would you like to run the installtion for?

1) Redhat Based Linux (Fedora, CentOS)
2) Ubuntu Based Linux (Kubuntu, Edubuntu)

Choice: [2]

Starting Ubuntu Installtion.

FOG Server installation modes:
* Normal Server: (Choice N)
This is the typical installation type and
will install all FOG components for you on this
machine. Pick this option if you are unsure what to pick.

* Storage Node: (Choice S)
This install mode will only install the software required
to make this server act as a node in a storage group

More information:
http://www.fogproject.org/wiki/index.php?title=InstallationModes

What type of installation would you like to do? [N]

What is the IP address to be used by this FOG Server? [192.168.0.53]

Would you like to setup a router address for the DHCP server? [Y/n]
What is the IP address to be used for the router on the DHCP server? [192.168.0.1]

Would you like to setup a DNS address for the DHCP server and client boot image? [Y/n]
What is the IP address to be used for DNS on the DHCP server and client boot image? [8.8.8.8] 192.168.0.53

Would you like to change the default network interface from eth0?
If you are not sure, select No. [y/N]

Would you like to use the FOG server for dhcp service? [Y/n]

This version of FOG has internationalization support, would
you like to install the additional language packs? [Y/n]

#####################################################################

FOG now has everything it needs to setup your server, but please
understand that this script will overwrite any setting you may
have setup for services like DHCP, apache, pxe, tftp, and NFS.

It is not recommended that you install this on a production system
as this script modifies many of your system settings.

This script should be run by the root user on Fedora, or with sudo on Ubuntu.

Here are the settings FOG will use:
Distro: Ubuntu
Installation Type: Normal Server
Server IP Address: 192.168.0.53
DHCP router Address: 192.168.0.1
DHCP DNS Address: 192.168.0.53
Interface: eth0
Using FOG DHCP: 1
Internationalization: 1

Are you sure you wish to continue (Y/N) y

Installation Started...

Installing required packages, if this fails
make sure you have an active internet connection.

* Preparing apt-get
* Installing package: apache2
* Installing package: php5
* Installing package: php5-gd
* Installing package: php5-cli
* Installing package: php5-mysql
* Installing package: php5-curl
* Installing package: mysql-server

We are about to install MySQL Server on
this server, if MySQL isn't installed already
you will be prompted for a root password. If
you don't leave it blank you will need to change
it in the config.php file located at:

/var/www/fog/commons/config.php

Press enter to acknowledge this message.

Reading package lists...
Building dependency tree...
Reading state information...
mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

* Installing package: mysql-client
* Installing package: isc-dhcp-server
* Installing package: tftpd-hpa
* Installing package: tftp-hpa
* Installing package: nfs-kernel-server
* Installing package: vsftpd
* Installing package: net-tools
* Installing package: wget
* Installing package: xinetd
* Installing package: sysv-rc-conf
* Installing package: tar
* Installing package: gzip
* Installing package: build-essential
* Installing package: cpp
* Installing package: gcc
* Installing package: g++
* Installing package: m4
* Installing package: htmldoc
* Installing package: perl
* Installing package: libcrypt-passwdmd5-perl
* Installing package: lftp
* Installing package: openssh-server
* Installing package: php-gettext
* Installing package: clamav-freshclam
* Installing package: language-pack-it
* Installing package: language-pack-en
* Installing package: language-pack-es
* Installing package: language-pack-zh-hans

Confirming package installation.

* Checking package: apache2...OK
* Checking package: php5...OK
* Checking package: php5-gd...OK
* Checking package: php5-cli...OK
* Checking package: php5-mysql...OK
* Checking package: php5-curl...OK
* Checking package: mysql-server...OK
* Checking package: mysql-client...OK
* Checking package: isc-dhcp-server...Failed!
* Checking for legacy package: dhcp3-server...OK
* Checking package: tftpd-hpa...OK
* Checking package: tftp-hpa...OK
* Checking package: nfs-kernel-server...OK
* Checking package: vsftpd...OK
* Checking package: net-tools...OK
* Checking package: wget...OK
* Checking package: xinetd...OK
* Checking package: sysv-rc-conf...OK
* Checking package: tar...OK
* Checking package: gzip...OK
* Checking package: build-essential...OK
* Checking package: cpp...OK
* Checking package: gcc...OK
* Checking package: g++...OK
* Checking package: m4...OK
* Checking package: htmldoc...OK
* Checking package: perl...OK
* Checking package: libcrypt-passwdmd5-perl...OK
* Checking package: lftp...OK
* Checking package: openssh-server...OK
* Checking package: php-gettext...OK
* Checking package: clamav-freshclam...OK
* Checking package: language-pack-it...OK
* Checking package: language-pack-en...OK
* Checking package: language-pack-es...OK
* Checking package: language-pack-zh-hans...Failed!

Press ENTER to continue.

FOG Server Configuration Menu
=============================

1) Configure IP address
2) Run FOG Setup
3) Check for update
4) Update Ubuntu
5) Show Disk Usage
6) Backup database
q) Quit

Please make a choice: q
root@FOGServer:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:68:d0:d6
inet addr:192.168.0.53 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe68:d0d6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:149815 errors:0 dropped:0 overruns:0 frame:0
TX packets:77613 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:192319300 (183.4 MB) TX bytes:17281165 (16.4 MB)
Interrupt:17 Base address:0x1400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2036 errors:0 dropped:0 overruns:0 frame:0
TX packets:2036 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:170704 (166.7 KB) TX bytes:170704 (166.7 KB)

root@FOGServer:~#
Commented by 시험さま at 2012/04/03 15:43
화면에서 PXE 부팅 과정을 눈여겨 보시면 문제생기는 부분이 파악될 것입니다.
아예 DHCP부터 안 되는지, 아니면 DHCP는 되는데 이후의 진행이 안 되는지..
전자라면 가상머신간의 망구성에 문제가 있는 것이고, 후자라면 서버 설정에 문제가 있는 것이겠죠.

또는, 복제PC로 쓸 가상머신에는 이미 OS가 설치되어 있는 상태일 것 같은데
PXE 부팅 말고 해당PC의 OS(아마도 XP?)로 부팅했을때 FOG의 DHCP 서버로부터 IP를 잘 받아오는지
그리고 FOG 서버로 접근 가능한지를 살펴보는 방법도 있겠습니다.
Commented by 시험さま at 2012/04/03 15:47
복제PC용 가상머신에 OS가 설치안된 상태라면,
SysRescCD(http://sysresccd.org) 등에서 라이브CD 이미지를 받아다가
가상머신의 ODD에 연결하고 CD부팅해서 확인해보는 방법도 있습니다.
Commented by 김한기 at 2012/04/03 15:59
일단 증상은 전자입니다. dhcp부터 안됩니다...

복제pc로 쓸 가상머신에 os가 설치되어있어서 fog서버로 접속을 해봤습니다. 잘 접속이 됩니다...

이런걸로봐서는 가상망 구성은 제대로 되어있는거 아닌가요...?

os부팅후 fog server에서 dhcp서버로부터 ip할당은 어떻게 받는건가요...?
Commented by 시험さま at 2012/04/03 16:55
그렇네요. 가상머신간 접근이 가능한 것을 보면 망구성의 문제는 아닌 모양이네요.
복제PC의 IP는 "자동으로 IP 주소 받기"로 잡으신 건가요?
이렇게 하면 DHCP로 받는 셈인데요. 이렇게 설정하여 FOG 서버와 통신이 되나요?

그리고, FOG 서버의 /var/lib/dhcp3/dhcpd.leases 파일을 열어보면
DHCP로 할당한 IP의 내역이 나옵니다.
복제PC에서 DHCP로 IP를 받았을때 이 파일에 그 내용이 추가된다면
복제PC가 확실히 FOG 서버의 DHCP로부터 IP를 할당받았다는 것이 확인되겠죠.
Commented by 김한기 at 2012/04/03 18:54
root@FOGServer:~# cat /var/lib/dhcp3/dhcpd.leases
# All times in this file are in UTC (GMT), not your local timezone. This is
# not a bug, so please don't ask about it. There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature. If this is inconvenient or confusing to you, we sincerely
# apologize. Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0.6

root@FOGServer:~#
아이상한게 공유기 dhcp를 껐는데 복제pc가 아이피를 받아오길래 fog에서 받나보다! 했는데 ...

알려주신파일 열어보니 아니네요...;;

이제 뭘 봐야 할까요?
Commented by 시험さま at 2012/04/03 19:22
혹시 동일 vmnet의 Host-only 방식으로 연결하신 것이면 VMWare에서 제공되는 내부 DHCP 서비스가 켜져 있을 것입니다.
아마 여기서 IP를 받은 것 아닌가 싶군요. 그 서비스를 끄고 해보시면 될 것입니다.
Commented by 시험さま at 2012/04/03 19:24
아니면, 어차피 공유기 DHCP 끄셨으니, 그냥 처음에 시도하셨던 Bridged 방식으로 하셔도 되겠네요.
Commented by 김한기 at 2012/04/03 21:33
아 뭘 어떻게 저렇게 이렇게 다해봐도 안되네요...;

vmware라서 안되는건 아니겠죠...?
Commented by 시험さま at 2012/04/03 22:28
VMWare라서 안 되는 것은 아닐겁니다. 아래 페이지를 보니
서버를 VM에다 꾸미고 Host-only 망을 통해 다른 VM의 클라이언트가 PXE 부팅하는 예가 나오네요.

http://rilrago.blog.me/20056366121

VM에 FOG 서버 구축하고 다른 VM을 복제PC로 쓰는 구성에는 문제 없는 것 같으니
FOG 설정을 다시 해보시고 하나씩 확인하면서 해 보시면 될 것입니다.

PXE는 결국 DHCP와 TFTP가 잘 뒤섞인 방식입니다.
FOG의 DHCP에서 주소 받아내는 것만 되면 나머지는 술술 풀릴 겁니다.
Commented by 김한기 at 2012/04/04 10:11
아 새로운 마음으로 다시 시작하려합니다. fog설치된 이미지가 아니라 fedora에 fog설치해서 진행할예정인데요,

일단 nat 환경으로도 가능할까요?

fog서버 이미지나 복제될 호스트 이미지 둘다 nat로 설정(Vmware DHCP On)시 둘다 192.168.1.x로 ip를 부여받아 상호간 통신이 가능하더라고요.

그래서 vmware dhcp를 off시키고 진행해볼예정인데 가능할까요...?
Commented by 시험さま at 2012/04/04 11:38
NAT, Bridged, Host-only 어떤 것이든 두 가상머신간 통신만 성립된다면 가능할 것입니다.
중요한 것은 외부DHCP가 PXE 진행과정을 교란하지 못하게 하는 것,
그리고 FOG 설정한 다음 DHCP 동작부터 하나씩 확인하는 것입니다.
머리속에 FOG 서버와 복제PC 사이의 망구성과 동작시나리오를 그리면서 차근차근 해보시면
잘 될 것입니다.
Commented by 김한기 at 2012/04/04 12:32
아 네 알겠습니다...

지금 fedora에서 시도해봤는데... php-gettext 설치가 어떤 이유인지 모르게 자꾸 Failed가 되서

Centos에서 해보고있는데... fedora보다 설정해줘야할것도 많은것같네요;;
Commented by 김한기 at 2012/04/04 13:24
아 우분투 페도라 둘다 php-gettext가 failed되서 다시 vm으로 돌아왔어요... 아......

다시한번 차근차근 설치하고있는데요

http://www.fogproject.org/wiki/images/c/c6/9.20.19.gif

위 그럼좀 봐주시겠어요 보시면

Using FOG DHCP:0

으로 되어있는데

맞는건가요?

1이 되어야 FOG DHCP를 쓰는거 아닌가요?
Commented by 시험さま at 2012/04/04 14:41
1이 되어야 쓰는 것이 맞습니다.
Commented by 김한기 at 2012/04/04 13:53
재설치중 제가 빼먹은 부분을 발견했는데...

php.ini 수정하는 부분이요... 이부분을 그전 설치때는 빼먹었네요.

그래서 이번에는 설정하려는데... 설정방법이 안나와있네요...

혹시 알고계신가요...?
Commented by 김한기 at 2012/04/04 13:54
Commented by 시험さま at 2012/04/04 14:45
저도 모르겠습니다.
2MB 이상의 스냅인을 쓰기 위해서 해야 하는 설정인 모양인데,
저는 스냅인도 쓰지 않았고, php.ini도 수정하지 않았습니다.
사실 이런 수정사항이 있다는 것도 몰랐습니다.
Commented by 김한기 at 2012/04/04 13:58
아 그리고...

fog서버에 dhcp 나 tftp 관련 프로세스가 떠있어야하는거죠...?

확인을 어떻게 해야하나요? ps -elf 등으로 확인하면 되는건가요?

root@FOGServer:~# ps -elf|grep dhcp
0 R root 11277 8568 0 80 0 - 751 - 23:57 pts/0 00:00:00 grep dhcp
root@FOGServer:~# ps -elf|grep tftp
0 R root 11294 8568 0 80 0 - 751 - 23:57 pts/0 00:00:00 grep tftp

뭐가 없네요...;
Commented by 시험さま at 2012/04/04 14:48
저는 아래와 같이 떠 있는 것으로 나옵니다. 떠 있지 않다면 아마 설정이 잘못된 모양이네요.

root@FOGServer:~# ps -ef | grep [d]hcp
dhcpd 1175 1 0 14:03 ? 00:00:00 /usr/sbin/dhcpd3 -q -pf /var/run/dhcp3-server/dhcpd.pid -cf /etc/dhcp3/dhcpd.conf
root@FOGServer:~# ps -ef | grep [t]ftp
root 656 1 0 14:03 ? 00:00:00 /usr/sbin/in.tftpd --listen --user root --address 0.0.0.0:69 -s /tftpboot
Commented by 김한기 at 2012/04/04 15:31
헉 역시 뭔가 떠있어야하는데...

안떠있는게 수상하다했어요... 아 뭘 어떻게 건드려야하죠...

step-by-step를 따라했을뿐인데...;
Commented by 김한기 at 2012/04/04 15:36
그런데 grep 하실때 []는 뭐죠...?
Commented by 시험さま at 2012/04/04 15:51
ps 결과에 grep process가 덩달아 묻어나오지 않게 하려고 제가 평소에 쓰는 꼼수입니다.
정규식에서 []는 문자집합이나 범위를 나타내잖아요?
결국 "[d]hcp"는 그냥 "dhcp" 찾으라는 뜻이 되는데,
이렇게 하면 ps | grep 결과물에 grep 프로세스는 빠지고 원하는 결과만 나오게 됩니다.
Commented by 김한기 at 2012/04/04 15:38
근데 그게 중요한게 아니고

/etc/init.d/dhcp3 start

명령으로 dhcp는 떴는데

tftp가 안뜨네요...;
Commented by 시험さま at 2012/04/04 15:44
실행스크립트가 따로 있는 것 같습니다.

/etc/init.d/tftpd-hpa start
Commented by 김한기 at 2012/04/04 15:41
dhcp가 돌아가니 pxe부팅 바로 되네요... ㅠㅠ

아... 감격의 순간... 너무 감사드립니다.

고개 하나 넘었네요!

이제 tftp만 어찌하면 될텐데...

뭘 보면 좋을까요?
Commented by 김한기 at 2012/04/04 15:57
아 되고있네요... 이미징 되고있어요... ㅠㅠ

다 시험?님 덕분입니다... 감사드립니다.

일단 dhcp만 떠있는데 진행이 되네요...

tftp는 안떠도 진행이 되는건가봐요...;

감사드립니다.
Commented by 시험さま at 2012/04/04 16:34
제 FOG 서버에서는 아래와 같이 in.tftpd가 tftp 포트(67)에서 서비스하는 것으로 나옵니다.

$ lsof -i4 | grep tftp
in.tftpd 674 root 3u IPv4 3457 0t0 UDP *:tftp

지금 구축하신 FOG 서버에서도 뭔가가 TFTP 포트를 붙들고 서비스를 하고 있을 것입니다.
어쨌든 결과가 좋아 다행이네요. 축하합니다. ^^

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >