Dell iDRAC alert 설정하기

다수의 서버들을 모니터링 하는 경우 snmp나 nagios,zabbix 등등의 모니터링 프로그램들을 이용하게 된다.

전문적인 모니터링 시스템을 이용하지 않고 간단히  Dell서버에서 제공해주는 iDRAC(Integrated Dell Remote Access Controllr, HP 의 ILO랑 비슷한 녀석이다.)을 이용해서 서버의 상태를 메일로 받아보도록 하자.

대부분의 최신의 Dell서버는 iDRAC Express 가 기본적으로 장착되어 있으며 Enterprise버전의 경우 Virtual Console를 제공해줘서 원격지의 서버를 집에서도 OS 설치등을 가능하게 해준다.

iDRAC Express의 경우 대부분은 NIC1  과 공유해서 사용하고 Enterprise의 경우에는 별도의 전용포트를 사용한다. 아래의 내용은 iDrac8을 기준으로 하며 iDRAC6이상부터는 비슷한 설정이다.

원격지에 서버가 있는 경우 디스크가 고장나거나 하더라도 Fault  LED를 볼 수 없어서 그냥 방치되다가

Raid가 완전히 망가지는 상황이나 하드웨어적으로 문제가 있는 경우에 유용하게 사용될 것이다.

 

iDRAC에 IP를 할당한 다음 IDRAC 관리자 페이지에 로그인 한 다음

iDRAC Settings -> Network-> Common Setting

DNS iDRAC Name 과 Static DNS Domain Name을 적어주도록 한다. 이 부분을 생략하면  나중에 나올 SMTP서버를 설정해도 메일이 발송되지 않는 경우가 있다.

그 이유는 아래 적어주는 정보를 기반으로  iDRAC 에서  메일의 From주소를 생성하게 되는데 아래가 아래 부분이 생략이 되면 From주소가 없어서 대부분의 메일서버에서는  메일 메시지를 반송을 시키던지 Drop를 시킨다.

ex)

DNS iDRAC Name: idrac-aaaa

Static DNS Domain Name: abc.com

== 보내는 E-mail Address: idrac-aaaa@abc.com

Server->Alerts

기본값은 Disabled 이며 Enabled 로 바꾼 다음 Apply해준다.

아래의 설정은 E-mail로 받을 서버의 상태들인데 information, alert, critical  의 상태에 따라서 메일 받을 부분을 선택해 주고 Apply하면 된다.

SNMP and Email Settings

snmp서버가 구성이 되어 있다면 snmp서버에 Trap을 보낼수도 있다. 일단 메일을 설정하는 과정이다.

메일 받을 주소를 적어주고 Apply를 해준다.

다음은 가장 중요한 설정이다.

로컬 네트워크에 자체 메일 서버가 있고 메일서버가 릴레이를 허용한다면  SMPT에 메일서버 IP나 FQDN/DNS Name를 적어준다.

자체적인 메일서버가 없는 경우 다른 SMTP서버를 통해서 메일을 발송하도록 설정해 준다.

아래는 몇몇 사이트의  SMTP설정 방법이다.  사이트에 따라서 사이트에 로그인해서 smtp사용을 허용해줘야 되는 경우가 있으니 확인해야 한다.

  1. Daum
    SMTP: smtp.daum.net
    Enable Authentication :Check
    Username: 본인의  ID
    Password: 비번
  2. Google
    SMTP: smtp.google.com
    Enable Authentication :Check
    Username: 본인의 ID
    Password: 비번
  3. Naver
    SMTP: smtp.naver.com
    Enable Authentication :Check
    Username: 본인의 ID
    Password: 비번

 

모든 설정이 끝났다면  Destination Email Addresses의 Test Email의 Send를 클릭하면 테스트 메일이 발송이 될 것이다.

 

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등에서도 별다른 설정 없이
가져와서 사용이 가능하다는 이야기가 된다. 물론 반대의 경우도 당연히 가능하다.