Archive for the Category » Linux(리눅스) «

RedHat ES4 컴파일러 업그레이드 하기?

RedHat ES4 서버에 설치된 컴파일러는 gcc 3.4버전이다.  여기에 어플리케이션 설치후 실행하니, 컴파일러가 gcc4.0 이상이 필요하다는 메시지가 나왔다. 문제는, 현재 설치된 서버의 서브스크립션이 등록되어 있지 않고, 서브스크립션도 구매하지 않았기 때문에, up2date를 사용할 수 없다는 점이다. (물론, up2date를 한다고 gcc 4.0이상으로 업그레이드 되리라는 보장도 없다.)

얼마전 libstdc++ 를 잘못 건드렸다가 kernel panic을 경험한터이므로, 가상머신에 RedHat ES4를 설치, 업그레이드를 미리 수행해 보기로 했다.

일단,

[root@localhost ~]# rpm -qa | grep gcc
gcc-g77-3.4.3-9.EL4
libgcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gcc-java-3.4.3-9.EL4
gcc-3.4.3-9.EL4

[root@localhost ~]# rpm -qa | grep glib
glibc-2.3.4-2
glib2-2.4.7-1
glib-1.2.10-15
glibc-headers-2.3.4-2
glibc-common-2.3.4-2
dbus-glib-0.22-11.EL
glib2-devel-2.4.7-1
glibc-kernheaders-2.4-9.1.87
glibc-devel-2.3.4-2

로 컴파일러에 필요한 패키지들을 검색.

RedHat ES5 에서 아래 화일 가져옴.

gcc-4.1.2-42.el5.i386.rpm
glibc-2.5-24.i386.rpm
gcc-c++-4.1.2-42.el5.i386.rpm
glibc-2.5-24.i686.rpm
gcc-gfortran-4.1.2-42.el5.i386.rpm
glibc-common-2.5-24.i386.rpm
gcc-gnat-4.1.2-42.el5.i386.rpm
glibc-devel-2.5-24.i386.rpm
gcc-java-4.1.2-42.el5.i386.rpm
glibc-headers-2.5-24.i386.rpm
gcc-objc-4.1.2-42.el5.i386.rpm
glibc-utils-2.5-24.i386.rpm
gcc-objc++-4.1.2-42.el5.i386.rpm
glib-devel-1.2.10-20.el5.i386.rpm
glib-1.2.10-20.el5.i386.rpm
glib-java-0.2.6-3.fc6.i386.rpm
glib2-2.12.3-2.fc6.i386.rpm
glib-java-devel-0.2.6-3.fc6.i386.rpm
glib2-devel-2.12.3-2.fc6.i386.rpm
libgcc-4.1.2-42.el5.i386.rpm

rpm -ivh –force –nodeps *.rpm 을 수행하여 컴파일러 강제 업그레이드하고, gcc 버전 확인

[root@localhost rpm]# gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –enable-shared –enable-threads=posix –enable-checking=release –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-libgcj-multifile –enable-languages=c,c++,objc,obj-c++,java,fortran,ada –enable-java-awt=gtk –disable-dssi –enable-plugin –with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre –with-cpu=generic –host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)

아래와 같은 샘플코드를 컴파일

a.c

#include <stdio.h>
#include <stdlib.h>

main()
{
printf(“gcc is ok!!!\n”);
}

오류가 발생

[root@localhost ~]# gcc a.c
gcc: error trying to exec ‘cc1′: execvp: No such file or directory

[root@localhost ~]# find / -name cc1 -print
/usr/libexec/gcc/i386-redhat-linux/3.4.3/cc1

[root@localhost ~]# rpm -qf /usr/libexec/gcc/i386-redhat-linux/3.4.3/cc1
cpp-3.4.3-9.EL4

위과정을 보면, cc1의 버전과 업그레이드한 gcc의 버전이 맞지 않아서 발생하는 에러라 추정했고,

[root@localhost rpm]# rpm -ivh –force –nodeps cpp-4.1.2-42.el5.i386.rpm
warning: cpp-4.1.2-42.el5.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:cpp ########################################### [100%]

이번엔 아래처럼 ld관련 오류 마찬가지로 버전 차이라 생각되어,

[root@localhost ~]# gcc a.c
/usr/bin/ld: unrecognized option ‘–hash-style=gnu’
/usr/bin/ld: use the –help option for usage information
collect2: ld returned 1 exit status

[root@localhost ~]# rpm -qf /usr/bin/ld
binutils-2.15.92.0.2-10.EL4

[root@localhost rpm]# rpm -ivh –force –nodeps binutils-2.17.50.0.6-6.el5.i386.rpm
warning: binutils-2.17.50.0.6-6.el5.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:binutils ########################################### [10

이제, 컴파일은 잘되며, 생성된 실행화일 실행해보니,

[root@localhost rpm]# gcc a.c
[root@localhost rpm]# ./a.out
gcc is ok!!!

마지막으로 서버 재부팅해보았다. 걱정하던 커널패닉은 발생하지 않았다.

ubuntu kvm 서버에 osx guest(해킨토시?) 설치. -결국 실패

1. 설치는 아래와 같이.

 virt-install –connect qemu:///system -n osx -r 1024 -f /home2/VM2/osx.vimg -s 15 -c /home/snowfox/OS/Snow_Leopard_10.6.1-10.6.2_SSE2_SSE3_Intel_AMD_by_Hazard.iso –vnc –noautoconsole –os-type none

여기서, 설치에 사용한 iso 이미지는 crack되어 있는 이미지이다.

2. osx 설치시 처음 부팅할때, apple관련 화일이 없다고 나온다. 이때는 ctrl+ALT+Del로 재부팅. 이후, 그냥 엔터 치지 말고 F8을눌러 부팅하자.

3. 그냥 아무생각 없이 설치를 하다보면, 나중에 OSX설치할 하드디스크가 보이지 않는다. 나는 이과정에서 엄청 헤맸다. 결론은, 디스크가 포맷되어 있지 않기 때문이다. 여기서 아래 그림에 나오는(처음것은 영어버전으로 설치. 두번재 것은 한글을 선택했을때, 즉 몇번 헤맸기 때문에 나중에 보니 스샷도 하나는 영문, 하나는 한글… ;ㅡㅡ) 유틸리티를 실행하여, 디스크를 포맷해 주자.

 

 

이것은 결국 실패했다. 설치 마치고 재부팅이 되는데, 이때, 무한 재부팅이 반복되며, OS가 올라오지 않았다. 혹시, 성공하신 분 있으면 알려주시기 바란다.

linux watch

c shell에는 repeat라는, 특정 커맨드를 반복해서 실행 할 수 있는 명령어가 있다(아마, 내장 커맨드였던가?). 꽤 유용하게 썼던 기억이 있다.

리눅스에도 비슷한 커맨드가 있는데, 바로 watch다.

사용법은 간단하다.

예를 들어서, 대용량 화일을 복사한다고 하자. 그러면 얼마나 복사되었는지 확인하려고, ls 나 df 같은 커맨드를 주기적(?)으로 실행하게 될 것이다. 그건 너무 귀찮지 않은가? 그럴 때 바로 watch를 사용한다.

#watch -d -n 5 ls -alh

Every 5.0s: ls -alh Tue Mar 20 01:18:04 2012

total 65G
drwxr-xr-x 2 root root 4.0K 2012-03-15 18:31 .
drwxr-xr-x 5 root root 4.0K 2012-03-20 00:29 ..
-rwxr-xr-x 1 root root 24G 2012-03-20 00:47 cent57.vimg
-rwxr-xr-x 1 root root 12G 2012-03-19 23:20 solaris10.vimg
-rwxr-xr-x 1 root root 12G 2012-03-10 19:22 ubuntu.vimg
-rwxr-xr-x 1 root root 24G 2012-03-20 00:57 win7.vimg
-rwxr-xr-x 1 root root 22G 2012-03-20 00:29 xp.vimg

-d 옵션은 이전과 다른 부분이 있다면 하이라이트로 표시해주는 옵션이며, -n 5 는 5초 간격으로 명령어(ls -alh)를 실행하라는 뜻이다.

단점이 있다면, 사용자 인터럽트를 받을때 까지 계속 실행된다는 것이다. 즉, 중지는 사용자가 직접 해야한다는 뜻.

mdadm spare disk 제거

내 md0의 구성(아래).

# mdadm -D /dev/md0
/dev/md0:
Version : 01.02
Creation Time : Tue Nov 29 21:22:23 2011
Raid Level : raid1
Array Size : 488382841 (465.76 GiB 500.10 GB)
Used Dev Size : 976765682 (931.52 GiB 1000.21 GB)
Raid Devices : 2
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Mon Mar 19 23:31:26 2012
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1

Name : fox:0 (local to host fox)
UUID : 4c2ddcae:30672ec0:f6065242:f4702e40
Events : 46

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1

2 8 49 – spare /dev/sdd1

1. 불행의시작!

md0의 spare 디스크가 제대로 작동하는지 테스트를 원하여, 아래 커맨드 수행후, 곧바로 Ctrl+c 눌러서 취소.

 # dd if=/dev/zero of=/dev/sdc1

이후, md0가 마운트되어 있는 곳에서 ls커맨드 수행시 리스트가 보이지 않음.   ==> 의도한 결과가 아님.

파티션 정보가 삭제된 sdc1과 sdb1이 동기화되어, md0의 파티션정보도 같이 삭제된듯.(이건 추측).

2. spare disk 제거

일단, spare디스크를 md0로 부터 제거하여, 화일을 백업받으려고 시도함.

#mdadm –remove /dev/md0 /dev/sdd1

#  mdadm -D /dev/md0

Number Major Minor RaidDevice State

0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1

제거한 디스크(/dev/sdd1)을 /mnt에 마운트하려고 시도했으나 에러 발생.

# mount /dev/sdd1 /mnt
mount: unknown filesystem type ‘linux_raid_member’

추측컨데, sdd1의 화일시스템을 만들지 않아서 발생하는 문제로 보여, 화일시스템을 생성함.

# mkfs.ext3 /dev/sdd1

# mount /dev/sdd1 /mnt

#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fox-root 129G 25G 98G 21% /
none 4.0G 248K 4.0G 1% /dev
none 4.0G 0 4.0G 0% /dev/shm
none 4.0G 96K 4.0G 1% /var/run
none 4.0G 0 4.0G 0% /var/lock
none 4.0G 0 4.0G 0% /lib/init/rw
/dev/sda1 228M 18M 199M 8% /boot
/dev/md0 459G 153G 283G 36% /home2
/dev/sdd1 459G 199M 435G 1% /mnt

일단 화일 /mnt에 /home2의 화일을 백업. (ls로 /home2의 목록은 보이지 않으나, 알고있는 디렉토리로 이동하면, ls로 목록 확인 가능. dd 커맨드 실행후 곧 취소하여 모두 삭제되지는 않은듯 하다.)

 

kvm guest OS의 잡다한 설정

사용환경
OS: Ubuntu 11.04
CPU: Intel Xeon 3.7GHz x2 (4 core, 2 hyperthread per core)
RAM: 8GB
가상머신: KVM, Qemu
설정화일: /etc/libvirt/qemu/guest_os_name.xml
공통사항: 설정화일 수정후 libvirtd 재실행 할것.

1. 의외로 별거 아닌데 오랜 시간이 걸렸던, 게스트 OS의 그래픽 해상도 설정 문제.
guest OS를 설치하면(설치할때 옵션이 있는지는 모르겠다.)
보통 그래픽 해상도가 1024×768 까지밖에 지원되지 않는다. 설정(/etc/libvirt/qemu/guest_os_name.xml)을 확인해보면,

<video>
<model type=’vmvga‘ vram=’9216′ heads=’1′/>
<address type=’pci’ domain=’0×0000′ bus=’0×00′ slot=’0×02′ function=’0×0′/>

또는

<video>
<model type=’cirrus‘ vram=’9216′ heads=’1′/>
<address type=’pci’ domain=’0×0000′ bus=’0×00′ slot=’0×02′ function=’0×0′/>
</video>

이런 식으로 설정되어 있으며, 최대 해상도가 1024×768까지 설정됨을 확인할 수 있다. Linux계열이야 GUI를 많이 안쓰니까 상관없지만, windows 계열은 많이 불편하다. 이것 저것 확인해 보니 해상도를 높이는 방법은 의외로 간단했다.

<model type=’vga‘ vram=’9216′ heads=’1′/>

위쪽의 vmvga나 cirrus를 vga로 변경만 해주면된다.

2. CPU개수를 더 할당 하거나, 메모리를 더 할당할때.(물론, 반대도 가능하다).

<memory>1048576</memory>
<currentMemory>1048576</currentMemory>

위의 설정은 게스트 OS의 메모리가 1GB인 상태. 2GB로 늘리려면,

<memory>2097152</memory>
<currentMemory>2097152</currentMemory>

위처럼 변경해주면 해결.
게스트 OS의 속도가 좀 느리다는 생각이 들면, CPU를 더 할당해본다.

<vcpu>1</vcpu>

위의 항목을 찾아서,

<vcpu>2</vcpu>

처럼 바꿔준다.

3. Guest OS의 이름을 잘못줬다!!!(solaris 를 soalris로 잘못줬을경우)
물론, 그냥 써도 된다. 하지만 왠지 그냥 쓰고 싶지는 않다.

<name>soalris</name>
<source file=’/home2/VM2/soalris.vimg’/>

먼저,

<name>solaris</name>

로 변경한다. 두번째 줄은 선택사항이다. 이미지화일의 이름도 생성시 잘못들어갔다면, 역시 바꿔주면된다. 물론, 바꿔준후 원래 화일(soalris.vimg)의 이름을 solaris.vimg 로 바꿔주면 된다. 귀찮으면, 그냥 써도 된다.

4. Guest OS에 할당한 디스크가 너무 작다! 가상디스크를 추가하려면?
참고문서: http://itsignals.cascadia.com.au/?p=28

4.1. 실행중인 guest OS(xpsp2)를 중지시키고, 이미지화일을 백업해둔다.

4.2. 증가시킬만큼(여기서는 10GB) 아래 커맨드로 이미지화일을 생성한다.

# qemu-img create -f raw add-disk.raw 10g
Formatting ‘add-disk.raw’, fmt=raw size=10737418240

4.3. 두 화일을 합쳐서 더 큰 화일로 만든다. 시간이 좀 걸리므로 참고 기다리자.
여기서, windows.vimg는 원래 guestOS의 화일, add-disk.raw는 추가로 만든 화일, xp.vimg는 새로 만들어지는 화일.

cat windows.vimg add-disk.raw >> xp.vimg
#ls -alh
-rwxr-xr-x 1 root root 12G Feb 28 11:07 windows.vimg
-rw-r–r– 1 root root 10G Feb 28 11:58 add-disk.raw
-rwxr-xr-x 1 libvirt-qemu kvm 22G Feb 28 12:16 xp.vimg

4.4 생성한 xp.vimg를 사용하도록 xml화일을 수정해도 되고, 화일 이름을 변경해도 된다. 나는 xml화일에서 windows.vimg 를 xp.vimg로 수정하였다.

4.5. guestOS 를 실행하여 윈도우xp의 디스크관리에 들어가보면, 추가된 10GB가 보인다. 이것을 파티션잡고 포맷하여 사용하면 된다.

마지막으로, qemu-img resize windows.img +10GB 하면 된다고 위 참고문서에 누군가가 답글을 달아 놓은것을 보았다. 쉽게 되는것을 너무 어렵게 했나? ;ㅡㅡ

ubuntu 서버에 networker client 설치하기

넷워커는 공식적으로 데비안패키지를 지원하지 않는다. 이건 넷백업도 마찬가지로 생각되지만,
아무튼, rpm패키지를 deb패키지로 변환해주는 alien 패키지를 설치하여 넷워크 클라이언트를 설치할 수 있다.
설치는 아래 사이트를 참고 했다.

http://blog.mc-thias.org/?title=networker-7-5-1-client-on-debian-gnu-linux-5-0-ubuntu-9-04&more=1&c=1&tb=1&pb=1

순서는…
1. 우분투 서버에 alien 패키지 설치.
2. alien 커맨드로 rpm 패키지를 deb 패키지로 변환.
3. 패키지 설치
4. nsrexecd 를 실행하여 /nsr 디렉토리가 생성되게 한다. 그후 kill로 nsrexecd를 중지시킨다.
5. /nsr/res/servers화일을 생성한다고 하는데, 이 부분은 필요 없다. 대신,
/etc/hosts 화일에 넷워커 서버와 서버에 설정된 클라이언트의를 설정해 준다.
6. 레드햇 계열에서는 자동으로 생성되는 시작 스크립트 /etc/init.d/networker 가 우분투에서는 설치되지 않으므로,
기존에 설치된 화일을 복사하여 사용한다. 없는 경우에는, 아래 스크립트를 사용하면 된다.
#! /bin/sh
# Copyright (c) 1990-2010, EMC Corporation
# All rights reserved.
# chkconfig: 35 95 05
# description: EMC Networker. A backup and restoration software package.
### BEGIN INIT INFO
# Provides: networker
# Required-Start: syslog network
# Required-Stop: syslog network
# X-UnitedLinux-Should-Start: portmap
# Should-Start: portmap
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: EMC Networker. A backup and restoration software package.
### END INIT INFO
case $1 in
start)
(echo ‘starting NetWorker daemons:’) > /dev/console
LD_LIBRARY_PATH=/usr/lib/nsr:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
if [ -f /usr/sbin/nsrexecd ]; then
if [ -f /usr/sbin/NetWorker.clustersvr ]; then
if [ -f /nsr.NetWorker.local -o -h /nsr.NetWorker.local ]; then
if [ -h /nsr ]; then
rm -f /nsr
ln -s /nsr.NetWorker.local /nsr
fi
fi
fi
(/usr/sbin/nsrexecd) > /dev/console 2>&1
(echo ‘ nsrexecd’) > /dev/console
fi
if [ -f /usr/sbin/lgtolmd ]; then
(/usr/sbin/lgtolmd -p /nsr/lic -n 1) > /dev/console 2>&1
(echo ‘ lgtolmd’) > /dev/console
fi
if [ -f /usr/sbin/nsrd -a \
! -f /usr/sbin/NetWorker.clustersvr ]; then
(/usr/sbin/nsrd) > /dev/console 2>&1
(echo ‘ nsrd’) > /dev/console
fi
;;
stop)
(echo ‘stopping NetWorker daemons:’) > /dev/console
if [ -f /usr/sbin/nsr_shutdown ]; then
if [ -f /usr/sbin/NetWorker.clustersvr ]; then
(/usr/sbin/nsr_shutdown -q) > /dev/console 2>&1
(echo ‘ nsr_shutdown -q’) > /dev/console
else
(/usr/sbin/nsr_shutdown -q) > /dev/console 2>&1
(echo ‘ nsr_shutdown -q’) > /dev/console
fi
fi
;;
status)
if [ -f /usr/sbin/nsr_shutdown ]; then
/usr/sbin/nsr_shutdown -l
fi
;;
*)
echo “usage: `basename $0` {start|stop|status}”
;;
esac
7. update-rc.d networker default 커맨드로 시작 스크립트에 등록한다.

CentOS 5.7 KVM guest os network interface 변경

CentOS 5.7에 KVM 설치하면 ubuntu와는 다르게 가상 네트워크 인터페이스 virbr0가 생긴다. virbr0는 guest OS가 NAT를 사용하게 하는데, 호스트OS와 같은 네트워크를 사용하려면, 이 virbr0를 사용하지 않으면 된다.
virsh # net-list
virsh # net-destroy default
# /etc/init.d/libvirtd restart
이렇게 하면 virbr0는 사라진다. 하지만 게스트 OS의 네트워크쪽에 문제가 생겨서 게스트가 실행되지 않는 현상이 발생
윈도우는 디바이스를 다시 잡지만 리눅스는 아래 에러 발생
virsh # start ubuntu
error: Failed to start domain ubuntu
error: Network not found: no network with matching name ‘default’
/etc/libvirt/qemu/ubuntu.xml 화일에서
<interface type=’network‘>
<mac address=’54:52:00:5e:53:d2′/>
<source network=’default‘/>
</interface>
부분을
<interface type=’bridge‘>
<mac address=’54:52:00:5e:53:d2′/>
<source bridge=’br0′/>
</interface>
로 수정 하면 잘됨
아래는 다시 NAT 로 사용하고자 할 때 .
virsh # net-list –all
Name State Autostart
—————————————–
virsh # net-define /usr/share/libvirt/networks/default.xml
Network default defined from /usr/share/libvirt/networks/default.xml
virsh # net-autostart default
Network default marked as autostarted
virsh # net-start default
Network default started
게스트 OS의 network를 NAT에서 bridge로 바꾸니 매우 느린 현상도 없어졌음.

Category: Linux(리눅스)  Tags:  Leave a Comment

Centos5.7 KVM 설치

1. CPU가 kvm을 지원하는지 확인한다.(intel: vmx, AMD: svm 지원되어야 가상화 지원됨)
[root@snowolf ~]# egrep ‘(vmx|svm)’ –color=always /proc/cpuinfo

2. 커널에 kvm모듈이 로딩되어 있는지 확인한다.
[root@snowolf ~]# lsmod | grep
kvmkvm_intel 85256 0
kvm 224928 2 ksm,kvm_intel
[root@snowolf ~]# modprobe kvm
[root@snowolf ~]# modprobe kvm-intel
FATAL: Error inserting kvm_intel (/lib/modules/2.6.18-274.12.1.el5/weak-updates/kmod-kvm/kvm-intel.ko): Operation not supported
만약 CPU가 가상화 지원되지만 위와같은 FATAL 에러가 발생했다면, 서버(또는 PC)의 BIOS에서 가상화 지원부분을 확인해야 한다. 테스트중인 RX200 S3의 BIOS에서는 가상화가 disable되어 있어서 enable 시켜 주었다. 이후 lsmod는 위쪽처럼 정상적으로 보임을 확인했다.

3. kvm패키지 설치
yum install kvm libvirt python-virtinst qemu-kvm
yum install bridge-utils
yum install virt-manager libvirt qemu-system-x86 openssh-askpass

4. 게스트 OS설치
[root@snowolf home]# virt-install –connect qemu:///system -n winxp -r 1024 –vcpus=1 –disk path=/home/KVM/winxp.vimg,size=12 -c /root/Windows_XP_sp2.iso –vnc –noautoconsole –os-type windows –os-variant winxp
Starting install…Creating storage file… | 12 GB 00:00Creating domain… | 0 B 00:00Domain installation still in progress. Waiting for installation to complete.

5. xmanager나 xming을 이용하여 설치시 그래픽화면을 볼 수 있다.
xmanager사용시 , xstart 실행 -> 호스트,프로토콜(ssh), id, password, 실행명령에 /usr/bin/gnome-session –display $DISPLAY나 virt-manager를 입력하여 실행.
또는 virt-viewer -c qemu:///system winxp 처럼 직접 입력하여도 된다.

6. 게스트OS의 삭제.
삭제는 생성한 OS의 이미지를 삭제하고, qemu의 설정화일(/etc/libvirt/qemu/winxp.xml)을 삭제한 후 재부티을 하면된다. 커널 kvm모듈을 제거(rmmod)하면 될 것 같지만, 의외로 다른 연관된 모듈때문에 rmmod가 되지 않는다. 그래서 재부팅을 해야만 했다. 이렇게 하면 게스트os가 삭제되긴 하지만, 맞는 방법인지는 모르겠다.

 

Category: Linux(리눅스)  Tags:  Leave a Comment

우분투에서 md0가 md127로 바뀌는 현상

우분투리눅스(11.04)에서 디스크 두개를 mdadm으로 미러 구성을 하고, 메타디바이스를 md0로 설정하였다.
하지만, 재부팅하면 md0는 사라지고 대신 md127로 인식을 하는 현상이 발생.
mdadm –detail /dev/md127 하여나오는 결과중에 UUID와 Name을 아래 화일에 설정해 준다.

/dev/md127:
Version : 1.2
Creation Time : Tue Nov 29 21:22:23 2011
Raid Level : raid1
Array Size : 488382841 (465.76 GiB 500.10 GB)
Used Dev Size : 488382841 (465.76 GiB 500.10 GB)
Raid Devices : 2 Total Devices : 2
Persistence : Superblock is persistent
Update Time : Fri Dec 2 17:14:15 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : fox:0 (local to host fox)
UUID : 4c2ddcae:30672ec0:f6065242:f4702e40
Events : 19
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
/etc/mdadm/mdadm.conf
ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1 name=fox:0 UUID=4c2ddcae:30672ec0:f6065242:f4702e40 level=1 num-devices=2 auto=yes

여기서 fox는 호스트네임.
이후 아래커맨드 실행 후 재부팅 하면, 정상적으로 md0로 인식됨.

update-initramfs -u

vnstat – console base network traffic monitor

Posted by: admin in Application(어플리케이션), Linux(리눅스)
설치: apt-get install vnstat
실행: /etc/init.d/vnstat start
Zero database found, exiting.
아래 커맨드로 해당 인터페이스(br0)의 데이타베이스를 생성해 주면 잘 됨.
vnstat -u -i br0
Error: Unable to read database “/var/lib/vnstat/br0″.
Info: -> A new database has been created.

Bad Behavior has blocked 31 access attempts in the last 7 days.