WDS를 활용한 windows 시스템 네트워크 설치-활용편

이제 WDS가 구성이 되었으니 실제로 활용하는 과정을 살펴보도록 하자.

WDS는 기본적으로 클라이언트들이 운영체제들을 설치할 때 무인설치를 지원해준다.

따라서 사용자들은 네트워크 부팅 손쉽게 OS를 설치할 수 있게된다.

실제 업무환경에서 사용하는 방법은 보통 두가지 방법으로 사용을 한다.

  1. WDS 에 unattend.xml을 생성해서 놓아두고 무인설치를 하는 방법
  2. 필요한 프로그램이나 전사적으로 사용하는 환경을 미리 구성한 다음  sysprep로 작업한 후 이미지를 생성하고 생성된 이미지를 WDS를 통해서 배포하는 방법

첫번째의 경우에는 보통 OS만 기본적으로 설치하는 경우에 많이 사용하는 편이고 두번째의 방법이 보통 회사에서 사용하는 방법일 것이다. 기본적으로 설치할 응용프로그램들을 미리 포함하는 이미지를 생성해서 표준화 하면 시스템 관리자의 입장에서는  업무량을 꽤 많이 줄일 수 있을것이다.

더이상 회사안에서 OS설치를 위해서 CD를 들고다니거나  iodd 같은것을 들고 다니지는 말자.

 

WDS를 이용한 OS무인설치

이 과정은 OS설치 시 사용자의 입력을 최소화 하거나 전체 무인 설치하고자 하는 경우에 사용하면 된다.

필자의 경우 Windows 7 환경을 기준으로 작업하며 각자의 환경에 맞는 프로그램들을 사용하기 바란다.

필요한 것들

  • windows automated installation kit(이하 WAIK, 각 OS버전별로 다르니 사용할 OS에 따라서 다운로드 받도록 한다)
  • OS설치용  CD 또는 iso 파일
  • 작업용 PC(WAIK를 설치하고 unattend.xml를 생성하기 위한  PC,가상머신이어도 상관없다)

 

WAIK설치

작업용  PC 에  https://www.microsoft.com/ko-kr/download/details.aspx?id=5753 에서 WAIK를 다운로드 받아서 설치한다.
WAIK 에는 winpe 환경을 쉽게 꾸밀 수 있도록 해주기 때문에 나중에 시스템 복구 환경같은것을 구현할 때도 유용하게 사용이 된다.

 

무인설치파일(unattend.xml)생성하기

WAIK가 설치후  Windows 시스템 이미지 관리자를 실행한다.

waik

Windows 이미지 또는 카탈로그 파일선택에 마우스 우측클릭하여 install.wim(windows 설치CD에 있는)을 추가해 준다.

참고) wim파일을 추가하게 되면 카탈로그 파일을 만들겠냐고 물어보는데 카탈로그 파일이 생성이 잘 안된다면 그냥 CD에 있는  clg파일을 추가해주면 된다. 어차피 이미지수정이 필요한것이 아니고 응답파일을 생성하는게 목적이니까..

wsim이미지를 추가했으면 새응답파일을 생성하도록 한다.

answerfile

새 응답파일에 이제 필요한 컴포넌트들을 추가해서 무인 설치가 가능하도록 해보자. 컴포넌트를 선택하고 마우스 우측을 클릭하면 원하는 위치에 가져다 놓을 수 있고  본인이 원하는 값으로 미리 값들을 지정할 수 있다.

실제로 컴포넌트들은 너무 많고 필자도 모두 테스트 해본적이 없어서 전체적인 설명은 어렵다. 컴포넌트 선택후 F1  을 입력하면 메뉴얼이 나오니 참고해서 셋업해보도록 하자.

기본적으로 디스크 파티션닝 및 사용자추가,회사명등등 공통적으로 사용하는 것들을 추가해주면 된다.

아래예제를 참고해 보도록 하자.

component

 

이렇게 만들어진 파일(unattend.xml)을  WDS 설치 디렉토리(c:\RemoteInstall\WdsClientUnattend) 에 복사한 다음 WDS 설정에서 무인설치를 설정해준다.

set_unattend

 

이제 모든 준비는 끝났고 OS를 설치할 PC를 PXE부팅을 하고 F12를 눌러서 진행하면 사용자 입력없이 OS를 설치할 수 있다. 심지어는 AD에 Join하는 것도 자동화 시킬 수 있으나 개인적으로는  AD  Join 과정은 메뉴얼로 진행하는 편이다. 필자의 경우에는 사내 정책으로 컴퓨터 이름도 표준화 시키고 있어서 자동생성된 컴퓨터 이름을 사용하지 않기 때문이다.

응답파일을 잘 만들어 두면 OS설치 작업이 한결 수월해지게 된다.

완벽하게 자동화 시키기 위해서는 꽤 많은 테스트 과정을 거쳐야 원하는 구성을 할 수 있을 것이다.

 

 

WDS를 활용한 windows 시스템 네트워크 설치-기본편

windows 2003에 있던 RIS가 windows 2008 이후부터  windows deployment services(이하  WDS)로 이름이 바뀌면서 좀더 많은 기능과 편리함을 제공해 준다. 또한 windows 7부터 지원되는  WIM(windows imaging)파일형태의 설치 환경으로 사용자는 좀더 편하게 설치환경을 원하는대로 수정할 수 있게 되었다.

PC 및 Laptop,Server등이 다수 필요하고 각각의 장치들의 제조사들이 제각각인 경우 관리자의 입장에서 설치지원하는 업무는 생각보다 많은 시간과 불편함을 초래한다. 이런 경우 WDS를 활용하면 시간과 수고를 많이 줄일 수 있을 것이다.

 

 

WDS설치 및 구성

필자의 경우 windows 2012R2 기준으로 설명하도록 하겠다.  회사에 구성된  시스템은  windows 2008 R2로 구성이 되어 있으며 공용시스템,각 부서별 시스템용을 분리하고 OS들도 분리해서 네트워크 설치가 가능하도록 구성했다.

*기본적으로 사용하는 네트워크에  DHCP서버가 구성이 되어 있다고 가정하겠다. DHCP서버는 Windows 시스템이건 Linux 시스템 이건 상관없다.  PXE클라이언트가 IP를 할당 받아서  WDS와 통신이 가능하도록 해주기만 하면 된다.

역할 및 기능추가

특별한 경우가 아니면 그냥 다음으로 진행하면서 설치를 완료하면 된다.

wds_install

wds_install2

wds_install3

wds_install4

wds_install5

WDS기본 구성하기

역할및 기능을 통해서 WDS를 설치했으니 실제로 서버를 구성해본다. 서버 구성을 선택하고 진행한다.

wds_install6

AD와 통합할것인지 단독으로 운영할 것인지 여부인데 필자의 경우 AD를 구성해서 사용하고 있다.

AD와 통합된 환경에서는 PXE클라이언트들을 네트워크 설치를 통해  AD에 합류하는 것 까지도 가능하게 된다.  PC가 10대이상 되는 환경이라면 AD를 구성해서 운영하는것이 좋다는게 필자의 생각이다.

wds_install7

 

부팅및 설치 이미지들을 저장할 디렉토리를 지정하는 옵션이다. 가급적 시스템이 설치된 드라이브가 아닌 별도의 드라이브를 만들어 두는것이 좋다. C드라이브만 존재한다면 그냥 C 드라이브에 설치폴더를 구성하도록 하자.

wds_install8

 

PXE서버의 초기값으로  모든 클라이언트에 대해서 응답하도록 구성한다.

wds_install9

 

구성이 마무리 되면 아래와 같은 화면을 볼 수 있을 것이다. 주로 설치 이미지,부팅 이미지 폴더를 많이 사용하게 될 것이며 고급운영을 원한다면 드라이버폴더를 이용해서 설치 과정중에 자동으로 드라이버들을 설치할 수 있도록 구성이 가능하다.

wds_install10

 

기본적인 설치 환경 구성하기

실제로 부팅 이미지와 설치 이미지를 WDS에 추가하여 클라이언트들이 네트워크 설치가 가능하도록 구성해보자.

windows 7이후 OS의 설치CD의 Sources폴더에 각각  boot.wim(부팅 이미지), install.wim(설치 이미지) 가 존재하며 이 파일을 이용해서 운영체제를 설치하게 된다.

부팅 이미지 추가

부팅이미지는  windows pe 와 windows 설치환경을 지원해주는 이미지다.

addbootimage

 

wds_installimage1

Windows 7 설치CD의sources디렉토리에 부팅 이미지와 설치 이미지가 있다.

wds_bootimage

설치 이미지 추가

위의 부팅 이미지 추가하는 과정과 동일하며 install.wim 을 선택해서 추가하도록 한다.

 

위의 과정까지 진행했으면 네트워크를 통한 windows 시스템 설치를 위한 모든 준비는 끝났다.

노트북이나 PC의 bios에 들어가서 PXE를 활성화 시킨 다음 부팅순서를 PXE(network)를 우선순위로 한 다음 전원을 켜면 DHCP서버에서 IP를 할당받는 화면이 나오고  F12을 입력하면  WDS로 진입하게 된다. 그 다음은 보편적인 windows설치하는 과정과 동일하다.

bios_networkboot

pxeboot

주의)
F12을 누르지 않으면 PXE부팅을 하지 않고 진행이 되므로  F12를 눌러서 진행하도록 한다.  WDS기본값이며 나중에 WDS설정에서 변경이 가능하다.

ZFS 기반의 NAS/SAN 스토리지 만들기

부제: 최소 금액으로 만들어보는 통합 스토리지 시스템과 활용법

 작성자: 김경민(stone@nuxinfo.net)
1. 부득이 하게 경어는 생략합니다.
2. 마음대로 퍼가셔도 되며 수정해서 작성자 이름을 변경 후 재 배포해도 상관 없습니다. :-)
3. 내용 중 명확히 잘못된 부분이 있으면 언제라도 수정하셔도 됩니다.
4. 내용에 대한 반론이 있다면 메일 또는 공개 게시판에 반론 제기하시면 됩니다.
5. 부족한 부분이나 추가했으면 하는 부분이 있다면 메일로 요청하시면 됩니다만 언제 추가할 지 장담은 못합니다.

ZFS(Zettabyte File System)란?

 

* ZFS 파일 시스템은 기존의 유닉스 파일시스템을 대체하기 위하여 2005년 SOLARIS10에서 처음 소개된 파일시스템으로
파일시스템들 가운데 최초로 128bit파일 시스템을 적용하여 거의 무한대의 용량을 제공하며 파일시스템 자체에서 볼륨 매니저 기능을 포함하여
시스템 내에 있는 하드 디스크들을 구성하거나 스토리지 풀로 통합하여 사용하는 것이 특징이다.[http]wikipedia

2.1 ZFS 기본컨셉과 장점

물론 장단점이 있긴 하지만 필자가 생각했을 때 ZFS가 갖는 좋은 점 몇 가지를 소개하고자 한다.
극강의 파일시스템이라고 불리는 ZFS의 유연성과 편리함을 잘 활용했으면 봤으면 한다.
위의 그림을 다시 풀어보자면 아래와 같은 차이점이 있다는 것을 알 수 있다.
1. 고전적인 Unix,Linux,FreeBSD,etc 에서의 파일 시스템 사용 절차
Device인식(/dev/sda)=> partition => mkfs.ext3 /dev/sda1(format) => mount
또는
format =>partition => newfs /dev/rdsk/c0t0d1s5 => mount /dev/dsk/c0t0d1s1 /mnt
2. LVM 기반의 파일시스템 사용 절차
Device인식(/dev/sda) => PV생성 => VG(volume group)생성 => LV(logical volume)생성 =>mkfs(format) => mount
3. ZFS 사용 절차
zpool생성 => zfs 생성
정말 간단하지 않은가? :-)
ZFS는 고전적인 파일시스템의 개념과 LVM같은 볼륨 매니저가 결합된 형태이며 별도의 파일시스템 생성과 Mount과정이 필요가 없습니다.
물론 대부분의 경우 /storagepool/dataset 형태로 스토리지 풀 하위 디렉토리로 마운트가 되나
필요에 따라 원하는 위치로 마운트 시켜서 사용해도 된다.
  • 간단한 관리 명령어

위의 내용과 다소 중복이 되지만 ZFS의 경우에는 zpool,zfs명령 2가지로 모든 파일시스템에 관한 컨트롤을 다하게 되어 여러 명령어들이 기억하고 배울 필요가 없어진다.
또한 fatab,vfstab 같은 파티션 설정 파일자체도 필요가 없다.

– LVM case –
1. pvcreate /dev/sda /dev/sdb
2. vgcreate VG01 /dev/sda /dev/sdb
3. lvcreate -n lv-home -L 50G VG01(VG01 볼륨 그룹에 50G의 logical volume생성)
4. mkfs.ext3 /dev/VG01/lv-home
5. mount /dev/VG01/lv-home /home 또는 mount /dev/mapper/VG01-lv-home /home

– ZFS case –

1. zpool create STORAGEPOOL /dev/sda /dev/sdb
2. zfs create STORAGEPOOL/home
  • 128bit 파일 시스템으로 거의 무제한 용량의 파일시스템을 활용할 수 있다.

zpool max size: 256zettabytes
참고로 래드햇 리눅스 기준으로 리눅스에서는 약 16T~500T(xfs사용 시)용량을 지원한다.

  • Software Raid system 지원

H/W raid시스템과 비슷하게 mirror(raid1),raid-z(raid5),raid-z2(raid6)등을 구현 가능 하도록 되어있어 값비싼(?) H/W RAID system 을 대체할 수 있다.
혹자는 성능의 문제를 제기할지도 모르겠지만 이 글의 의도는 성능에 촛점을 맞추기보다는 다양한 요구에 대처할수 있는 다기능 스토리지 구성에 목적이 있음을 인지해주기를 바란다.
각각의 장 단점이 있으므로 이 부분은 엔지니어들의 선택에 달려있다.

  • 빠른 snapshot 과 rollback,clone
    zfs 의 유용한 기능중의 하나인 snapshot,clone,rollback을 이용하여 관리자가 원하는 시점의 데이터에 쉽게 엑세스 할 수 있다. 실제 사용하는 예제는 추후 스토리지 활용편에서 좀 더 다루겠지만 간단한게 사용하는 예제를 소개해 보도록 하겠다.
1. zfs snapshot storagepool/data1@sunday (snapshot생성)
2. rm -fr /storagepool/data1/testfile
3. zfs rollback storagepool/data1@sunday (rollback)

위의 과정처럼 snapshot 을 생성해두고 뭔가 문제가 발생했을 때 snapshot을 생성한 시점으로 바로 데이터를 복구할 수 있다.
windows의 VSS(volume shadow copy)와 유사하지만 virtual devices(zvol)를 지원하고
생성된 snapshot을 복제 가능하다는 점에서는 MS VSS보다는 유연하다.

  • 데이터 용량 및 관리의 편의성 제공

zfs의 경우 스토리지풀에 생성된 데이터를 각각의 zfs(or zvol)들이 모두 공유하기 때문에 스토리지풀의 용량만 잘 관리해주면 disk full로 인한 시스템 장애에서 벗어날 수 있다.
참고로 각각의 zvol,dataset(zfs)의 용량을 제한(quota) 및 예약(특정 용량 만큼은 보장하도록) 지정할 수 있다.
아래의 고전적인 파일시스템에서의 용량 증설 과정을 살펴보자.
1. 새 디스크 추가=>파티션 생성 및 파일시스템 생성=>mount=>기존데이터 복제=>fstab or vfstab수정
또는 LVM의 경우
2. 새 디스크 추가 => PV 생성=> VG확장=> LV확장 => 파일시스템 확장(resize2fs,xfs_grow,etc)=>fstab 수정

참고)
ext3의 경우 online resize가 안되므로 반드시 umount하고 resizing을 진행해야 한다.
xfs의 경우 online resize가 가능하므로 동적으로 용량 변경이 필요하고 무정지 시스템이 필요하다면
리눅스의 경우 필자는 XFS를 사용하기를 권장한다.

아래의 예제는 zfs 에서 스토리지풀을 확장하는 과정이다.

zpool add storagepool c2t1d0
  • 파일시스템의 기본 공유 기능

zfs는 기본적으로 nfs,smb(cifs) 등을 제공하여 별도의 설정이 없이도 쉽게 데이터를 공유할 수 있다.
물론 접근 제어(ACLs)의 설정등은 windows시스템보다는 다소 복잡한 면이 있지만
한번 잘 설정해두면 큰 문제없이 사용이 가능할 것이다.

  • 아키텍처와 상관없는 데이터 마이그레이션

스토리지 시스템의 H/W raid 컨트롤러가 고장이 났을 경우 동일 모델의 컨트롤러가 필요한 반면
zfs의 경우 zpool export/import를 이용하면 스토리지풀을 OS와는 상관없이 마이그레이션이 가능하다.
FreeBSD에서 만든 zpool을 Linux,opensolaris,solaris등에서도 별다른 설정 없이
가져와서 사용이 가능하다는 이야기가 된다. 물론 반대의 경우도 당연히 가능하다.

데이터 백업

서버를 임시로  가상서버로 이전하고 기존의 데이터를 복원해뒀습니다.

데이터를 못받아가신분은 stone@nuxinfo.net 으로 메일 보내주시거나 comment남겨주시면

제가 셋업해서 받아갈수있도록 하겠습니다.

nuxinfo이전작업

오늘 서버를 반출합니다.(2016년7월23일)

공지를 6월초에 했으니 거의 2개월동안 정리시간을 드렸으니 충분한 시간이 아니었나합니다.

오늘 이후의 사용자 데이터는 별도의 저장소서버를 마련할때까지는 제가 드릴 수 없습니다.

사용자 데이터 이전 작업이 끝나면 언제라도 요청만 하시면 받아가시도록 해두겠습니다.

현재 네임서버 변경으로 인하여 접속이 원할하지 않을 수 있습니다.