2010년 12월 30일 목요일

[CentOS] kickstart로 linux 자동 설치하기(pxe 부팅)

<Test 환경>
-OS : CentOS 5.5 x64
-Kernel : 2.6.36
-서버ip : 192.168.0.10/24



1. TFTP 설치 및 설정
[root@localhost /]# yum install tftp tftp-server
[root@localhost /]# vi /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        disable = no       
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

2. syslinux 설치
[root@localhost /]# yum install syslinux

3. DHCP 설치 및 설정
[root@localhost /]# yum install dhcp dhcp-devel
[root@localhost /]# vi /etc/dhcpd.conf
ddns-update-style none;
allow booting;
allow bootp;
default-lease-time 60;
max-lease-time 60;
option subnet-mask              255.255.255.0;
option domain-name-servers      192.168.0.10;
class "pxeclients" {
        match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
        next-server 192.168.0.10;
        filename "pxelinux.0";
}
#Windows 클라이언트 클래스 설정
class "ms-clients" {
        match if substring (option vendor-class-identifier, 0, 4) = "MSFT";
}
# DHCP 서버가 돌고 있는 리눅스 머신 클래스 설정
class "linux-dhcp" {
        match if substring (option vendor-class-identifier, 0, 5) = "Linux";
}
subnet 192.168.0.0 netmask 255.255.255.0 {
       # option routers  GATEWAY주소;
        option routers 192.168.0.1;
        #option broadcast-address 브로드캐스트 주소;
        option broadcast-address 192.168.0.255;
        pool {
                deny members of "ms-clients";
                deny members of "linux-dhcp";
                allow members of "pxeclients";
                range dynamic-bootp 192.168.0.101 192.168.0.250;
        }
}

4. NFS 설치 및 설정
[root@localhost /]# yum install nfs-utils
   ; CentOS 최신버전 다운로드 및 mount
[root@localhost /]# wget http://mirrors.kernel.org/centos/5.5/isos/i386/CentOS-5.5-i386-bin-DVD.iso
[root@localhost /]# mount -t iso9660 -o loop /home/centos/iso/CentOS-5.5-i386-bin-DVD.iso /home/centos/tmp
[root@localhost /]# cp -R /home/centos/tmp/* /home/centos/x86
[root@localhost /]# umount /home/centos/tmp
[root@localhost /]# wget http://mirrors.kernel.org/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD-1of2.iso
[root@localhost /]# mount -t iso9660 -o loop /home/centos/iso/CentOS-5.5-x86_64-bin-DVD-1of2.iso
/home/centos/tmp
[root@localhost /]# cp -R /home/centos/tmp/* /home/centos/x64
[root@localhost /]# umount /home/centos/tmp
[root@localhost /]# vi /etc/exports
/home/centos/x86 *(ro)
/home/centos/x64 *(ro)
/tftpboot *(ro)
[root@localhost /]# exportfs -a

5. PXE 환경설정 및 부팅이미지 복사
[root@localhost /]# cd /tftpboot
[root@localhost /]# mkdir centos ks pxelinux.cfg
[root@localhost /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
[root@localhost /]# cp /usr/lib/syslinux/menu.c32 /tftpboot/
[root@localhost /]# cp /home/centos/x86/images/pxeboot/vmlinuz /tftpboot/centos/x86/
[root@localhost /]# cp /home/centos/x86/images/pxeboot/initrd.img /tftpboot/centos/x86/
[root@localhost /]# cp /home/centos/x64/images/pxeboot/vmlinuz /tftpboot/centos/x64/
[root@localhost /]# cp /home/centos/x64/images/pxeboot/initrd.img /tftpboot/centos/x64/
[root@localhost /]# vi /tftpboot/pxelinux.cfg/default
default menu.c32
timeout 100

menu background splash.jpg
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color timeout_msg 0 #ffffffff #00000000
menu color timeout 0 #ffffffff #00000000
menu color cmdline 0 #ffffffff #00000000
menu tabmsg Press ENTER to Install or TAB to edit a menu entry
menu tabmsg Made by Jonny from WIZCNS Corp.
 
menu title ####  OS Installer Boot Menu  ####

label 1
  menu label CentOS5.5(32bit) on R210
  kernel centos/x86/vmlinuz
  append ksdevice=eth0 initrd=centos/x86/initrd.img network ks=nfs:192.168.0.10:/tftpboot/ks/ks32.cfg text

label 2
  menu label CentOS5.5(64bit) on R210
  kernel centos/x64/vmlinuz
  append ksdevice=eth0 initrd=centos/x64/initrd.img network ks=nfs:192.168.0.10:/tftpboot/ks/ks64.cfg text

label 3
  menu label CentOS5.5(64bit-DB) on R610
  kernel centos/x64/vmlinuz
  append ksdevice=eth0 initrd=centos/x64/initrd.img network ks=nfs:192.168.0.10:/tftpboot/ks/ks64db.cfg text





6. kickstart 설정
[root@localhost /]# vi /tftpboot/ks/ks32.cfg
#install 또는 upgrade
install
# 설치 모드 지정 (이 옵션이 없으면 그래픽 모드로 설치가 진행 됩니다.)
text
# 미러링 서버 지정
# 예) url --url http://centos.mirror.cdnetworks.com/centos/5.4/os/i386
# 예) nfs --server=192.168.0.1 --dir=/mnt/md0
nfs --server=192.168.0.10 --dir=/home/centos/x86(or x64)
# 언어선택으로 기본설정 사용.
# langsupport 에 ko_KR.UTF-8 를 추가해주면 한국어 지원.
# 예) langsupport --default=en_US.UTF-8 en_US.UTF-8 ko_KR.UTF-8
lang en_US.UTF-8
langsupport --default=en_US.UTF-8 en_US.UTF-8 ko_KR.UTF-8
# 키보드 설정
keyboard us
# 마우스 설정
mouse none
# 네트웍 설정
# dhcp 로 ip를 가져오지 못하면 고정 ip 설정화면이 나옵니다.
# 아래 주석은 여러가지 형태의 네트웍 설정방법을 예로 보여준 것 입니다.
#network --bootproto dhcp
#network --bootproto static 
network --device eth0 --bootproto dhcp
#network --device eth0 --bootproto static --ip 192.168.0.251 --netmask 255.255.255.0 --gateway 192.168.0.1 --nameserver 168.126.63.1 --hostname sunxxx
# root 패스워드 입니다. 원하시는걸로 바꾸시면됩니다.
rootpw --iscrypted $1$5aH5feJ4$hV4mobHAt8w39MKlqIWOM.
# firewall 설정 단계로 개인적으로 os 설치완료후 설정할 것을 권장합니다.
firewall --disabled
# selinux 설정 단계로 완벽하게 이해 하지 못한다면 disabled 하는것을 권장합니다.
selinux --disabled
# 시스템에서 사용될 인증 옵션을 설정합니다. 기본값 사용
authconfig --enableshadow --enablemd5
# timezone 설정
timezone --utc Asia/Seoul
# 부트로더 설정
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# 시스템에 있는 모든 파티션을 삭제 합니다.
clearpart --initlabel --all
# 파티션을 나눕니다.
part / --fstype ext3 --size=4096 --ondisk=sda
part swap --size=8192 --ondisk=sda
part /tmp --fstype ext3 --size=4096 --ondisk=sda
part /var --fstype ext3 --size=10240 --ondisk=sda
part /usr --fstype ext3 --size=30720 --ondisk=sda
part /home --fstype ext3 --size=1 --grow --ondisk=sda
#reboot
# 패키지를 선택합니다. (나머지는 설치 완료 후 yum 으로 설치)
%packages
@development-tools
xinetd
ntp
net-snmp
net-snmp-devel
# 설치 후 실행할 쉘스크립트
%post
wget -q -O - http://linux.dell.com/repo/hardware/latest/bootstrap.cgi |bash
yum install -y srvadmin-all
cp /etc/modprobe.conf /etc/modprobe.conf.bak
echo "options bnx2 disable_msi=1" >> /etc/modprobe.conf


7. 서비스 시작(순서대로!!)
[root@localhost /]# service xinetd start
[root@localhost /]# service dhcpd start
[root@localhost /]# service portmap start
[root@localhost /]# service nfs start


** 부팅시 자동으로 서비스 실행되도록 설정은 아래와 같이 하면 됨.
# chkconfig dhcpd on

2010년 12월 24일 금요일

케이블링 하는 신입사원과 알바생

IDC에서 케이블링 중인 광수 사원과 성범군
밖에 날씨는 무척이나 쌀쌀한데 IDC 안은 시스템 열기로 가득하여 덥네요~^^;;


둘다 좋은 추억 만들길...ㅎㅎ
고생했어요~!

[맛집] 광명시장 "홍두깨 칼국수"

어제는 점심을 먹으러 광명사거리역 앞에 있는 광명시장에 갔었습니다.
광명시장 안으로 50m 정도 들어가면 왼편에 유명한 칼국수 가게 "홍두깨 칼국수"가 있습니다.



가격도 저렴하고 맛도 있어서 그런지 사람들이 바글바글 하더군요^^
수타면에 국물이 끝내줍니다..ㅎㅎ



후식으로 어묵 하나씩 입에 물고...룰루랄라^0^
"아~~~배부르다ㅋㅋ"



오후에는 Dell에서 보내준 치즈케익으로 크리스마스 겸 오과장님 생일 축하로 마무리 했네요~ㅎㅎ
맛나는 아메리카노가 무척 생각 났네요~~~아쉽!


2010년 12월 21일 화요일

[OMSA]OpenManage Server Administrator

 

 

Dell OpenManage Server Administrator(OMSA)에서는 BIOS 설정을 미리 변경할 수 있습니다.

 

하지만 곧바로 NVRAM에 적재되는 것이 아니라 다음 rebooting이 있을 때 적용이 됩니다.

 

또한 Storage 부분에 RAID 구성이나 변경이 가능하기에 reboot 후 RAID Controller에서 구성을 하지 않아도 되는 번거로움이 가실 겁니다..

 

그리고 SNMP 서버를 구성한다거나 Dell ITA를 설치하여 snmp로 alert 메시지를 받아 모니터링 및 장애처리 한다면 서버 관리하는데 용이할 것입니다.

[CentOS] Kernel 컴파일

<커널 컴파일 하기>

- Dell Server

- OS : CentOS 5.5 x64

- Kernel : 2.6.18 -> 2.6.36

 

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.26.1.el5 #1 SMP Tue Nov 9 12:54:40 EST 2010 i686 i686 i386 GNU/Linux

 

1. 커널 컴파일 전에 gcc, ncurses-devel 설치 및 package update

[root@localhost ~]# yum install -y gcc ncurses-devel

[root@localhost ~]# yum update

2. 최신 커널 다운로드(http://www.kernel.org/pub/linux/kernel/v2.6/)

[root@localhost ~]# cd /usr/src

[root@localhost ~]# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.gz

[root@localhost ~]# tar xvfz linux-2.6.36.tar.gz

[root@localhost ~]# ln -s linux-2.6.36 linux

 

3. 커널 컴파일 설정

현재 사용하고 있는 커널 설정으로 컴파일 하기 위해 .config 설정 파일을 복사해서 진행

[root@localhost ~]# cd /usr/src/linux

[root@localhost linux]# make mrproper
[root@localhost linux]# make clean
[root@localhost linux]# cp /boot/config-`uname -r` ./.config
[root@localhost linux]# make menuconfig

  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/basic/hash
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/kxgettext.o
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/mconf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf arch/x86/Kconfig

 

Load and Alternaate Configuration File -> .config 입력 후 OK 버튼

 

 

General sertup 선택 -> enable deprecated sysfs features to support old userspace tools (NEW) 에서 "y" 키로 선택

                             -> Local Version 선택 후 커널 뒤에 붙을 release 이름 입력(-default를 붙혔다면 2.6.36-default로 생성 됨)

 

설정이 끝났으면 .config 저장 후 Exit 로 종료

 

 

4. 커널 빌드와 설치 진행

[root@localhost linux]# make all

  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig arch/x86/Kconfig
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  CC      kernel/bounds.s
  GEN     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  GEN     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  HOSTCC  scripts/genksyms/genksyms.o
  SHIPPED scripts/genksyms/lex.c
  SHIPPED scripts/genksyms/parse.h
  SHIPPED scripts/genksyms/keywords.c
/

/

/

CC [M]  drivers/parport/parport_pc.o
ld: final link failed: No space left on device
make[2]: *** [drivers/parport/parport_pc.o] Error 1
make[1]: *** [drivers/parport] Error 2
make: *** [drivers] Error 2

 

>>에러 발생하여 make menuconfig 실행하여 Device Drivers로 들어가 Parallel port support 에 "N"키로 <N> exclude 시키고 저장 후 빌드 시작

 

 

에러 다 복구 했으면...

 

[root@localhost linux]# make clean; make all

 

>> 커널 컴파일 및 설치 계속 진행

[root@localhost linux]# make modules_install

[root@localhost linux]# make install

sh /usr/src/linux-2.6.36/arch/x86/boot/install.sh 2.6.36-default arch/x86/boot/bzImage \
                System.map "/boot"

 

[root@localhost linux]#  cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=0

timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.36-default)
        root (hd0,0)
        kernel /vmlinuz-2.6.36-default ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.36-default.img
title CentOS (2.6.27.54-default)
        root (hd0,0)
        kernel /vmlinuz-2.6.27.54-default ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.27.54-default.img
title CentOS (2.6.18-194.26.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.26.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-194.26.1.el5.img
title CentOS (2.6.18-194.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-194.el5.img


새로운 커널을 사용하기 위해 reboot

 

새로운 커널로 부팅 후 커널 버전 확인

[root@localhost ~]# uname -a

Linux localhost.localdomain 2.6.36-default #1 SMP Tue Dec 28 01:27:12 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

2010년 12월 19일 일요일

Winter Workshop 2010

서버에 치여있던 생활을 정리하고 한 해를 마무리하면서 2011년을 계획하기 위해 강촌으로 워크샵을 다녀왔습니다^^

임직원이 많지 않기에 단합도 잘되고 즐거운 1박 2일 여행이었네요~ㅎㅎ

 

첫 날은 사업계획서 발표와 회의를 마치고 고기와 회 그리고 술로 달리는 즐거운 밤이었죠..

새벽 4시가 넘어 잠들어 아침 7시반~8시 기상을 했네요...

피로가 안풀리지만 강원도라 역시 술은 안취해요ㅋㅋ

 

아침에 해장을 하고 보드 장비들을 갖추고 요즘 한창 라디오에서 떠들어 대는 엘리시안 강촌으로 고고씽~

자~~ 엘리시안 구경 좀 해볼까요? ㅋㅋ

 

 

대부분 초보들이어서 구르다 내려왔습니다..ㅎㅎ

 

 

 

 

 

중급자 코스 정상에서 wizcns 단체사진^0^v

 

 

부장님과 뚱땡이가 빠졌군요...어디서 구르고 있을까요? ㅋㅋ

 

즐거운 오전 보딩을 마치고 점심으로 막국수에 메밀 전으로 배를 채우고 무사히 돌아왔습니다.

빨리 보드타러 또 가고 싶어지네요...^^;

 

 

2010년 12월 17일 금요일

Dell 서버 BIOS 셋팅법

Dell 서버 BIOS 셋팅 방법


R610인 경우,

Processor Setting -> Logical Processor : Disabled
C1E : Disabled
C States : Disabled

Boot Sequence -> 1. DVD-Rom
2. Hard Drive
3. Network(PXE)

Power Management -> Power Management : Maximum Performance




R210인 경우,

Boot Sequence -> 1. DVD-Rom
2. Hard Drive
3. Network(PXE)

DSET(Dell Support E-Tool) 실행 가이드

Dell 서비스에 장비 A/S를 접수하면 DSET을 이용하여 Dump를 떠서 보내달라고 한다.

서비스 중에 돌리기도 힘들고 시간도 꽤 걸린다.(대략 난감 ㅡ.ㅡ;)

그래도 돌려서 주면 뭐 보다 적당한 해결책을 보내주겠지...ㅋㅋ

[Error] kernel: NETDEV WATCHDOG: eth0: transmit timed out

Dell R610 서버에서 발생한 Error(사용 OS : CentOS 5.5)

Dec 16 22:05:05 host kernel: NETDEV WATCHDOG: eth0: transmit timed out
Dec 16 22:05:05 host kernel: bnx2: eth0 NIC Copper Link is Down

해결책 1)
BIOS에서 Processor Setting 메뉴로 들어가 C States를 disable로 변경 후 저장


&

BIOS에 Power Management로 들어가
Power Management 값을 Maximum Performance 로 설정 후 reboot
 


해결책 2) bnx2 module에 MSI-X 기능 disable

# vi /etc/modprobe.conf
option bnx2 disable_msi = 1     <=== 추가 (MSI; Message Signaled Interrupts)

# reboot



해결책 3) boot parameter에 pci=nomsi 추가

# vi /boot/grub/grub.conf
......
......
kernel /boot/vmlinuz ~~~~~ pci=nomsi(or acpi=off) 추가 후 reboot
......
....


네떡아 제발 끊기지 좀 말아랏! :(


2010년 12월 15일 수요일

[Error] Memory failed


Dell R210 서버에서 발생한 Error 메시지입니다.

Memory write/read failure at 5ec66028, read a4a50000 expecting a5a5a5a5 PXE Boot

Decreasing available memory


보드를 교체해봤지만 증상이 같네요.

메모리가 문제였네요 ㅡ.ㅡ;



Asset Tag Utility

Asset Tag Utility

The Asset Tag utility allows you to enter an asset tag number for your computer and reenter, if necessary, the computer's service tag number. Both numbers are entered into NVRAM, from which they become viewable on the System Setup screens.
The procedure for installing the Asset Tag utility is the same as for all the system utilities. If the path statement in your autoexec.bat file does not contain the directory in which you installed the Asset Tag utility, modify the path statement to include that directory.
Using the Asset Tag Utility
After you install the Asset Tag utility, you can use it to enter or change an asset tag number that you or your company assign to the computer.
Use the asset command from the system prompt. To view existing asset and service tag numbers, type
asset
and press <ENTER>.
Assigning/Deleting an Asset Tag Number
An asset tag number can have up to 10 characters; any combination of characters excluding spaces is valid. To assign or change an asset tag number, type
asset
and then a space followed by the new number; then press <ENTER>. For example:
asset 1234567890 
<ENTER> When the system asks ...
Are you sure? [y,n],
type
y 
and press <ENTER>. The system then displays the new or modified asset tag number as well as the service tag number.
To delete the asset tag number without assigning a new one, type
asset /d
.
00000022.gif
Asset Tag Option       Description                                   
                                                                     
00000023.gif
/d                     Deletes tag                                   
                                                                     
/s                     Applies change to service tag                 
                                                                     
/?                     Displays the Asset Tag help screen            
                                                                     
Reentering a Service Tag Number

Before your system was shipped, the 5-digit number from the service tag on the back of your computer was entered into NVRAM. If you need to reenter the service tag number, type

asset /s
and then a space followed by the service tag number.

2010년 12월 7일 화요일

서버에 치여 살고 있습니다...^^;

요즘 저희 사무실이 서버에 묻힐지경입니다..ㅎㅎ

복 받았다고 해야 될까요.. 아니면 끔찍하다고 해야 될까요??

 

자.. 그러면 서버에 파묻힌 사무실 한 번 구경하실까요? ㅋㅋ

 

 

HP, Dell 할 것 없이 많네요~ 우와!

 

 

신생 기업이라고 무시하면 안되요~~^^;;

 

 

구경 잘 하셨나요??

다음 번에는 워크샵(스키장 고고씽~^^) 다녀와서 후기 올려드릴께요..ㅋ