2010년 12월 30일 목요일
[CentOS] kickstart로 linux 자동 설치하기(pxe 부팅)
-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일 금요일
케이블링 하는 신입사원과 알바생
[맛집] 광명시장 "홍두깨 칼국수"
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 셋팅법
DSET(Dell Support E-Tool) 실행 가이드
[Error] kernel: NETDEV WATCHDOG: eth0: transmit timed out
2010년 12월 15일 수요일
[Error] Memory failed
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
assetand 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
assetand 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
yand 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.
Asset Tag Option Description
/d Deletes tag
/s Applies change to service tag
/? Displays the Asset Tag help screenReentering 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 /sand then a space followed by the service tag number.
2010년 12월 7일 화요일
서버에 치여 살고 있습니다...^^;
요즘 저희 사무실이 서버에 묻힐지경입니다..ㅎㅎ
복 받았다고 해야 될까요.. 아니면 끔찍하다고 해야 될까요??
자.. 그러면 서버에 파묻힌 사무실 한 번 구경하실까요? ㅋㅋ
HP, Dell 할 것 없이 많네요~ 우와!
신생 기업이라고 무시하면 안되요~~^^;;
구경 잘 하셨나요??
다음 번에는 워크샵(스키장 고고씽~^^) 다녀와서 후기 올려드릴께요..ㅋ