GlusterFS에서 Volume을 만들었다가 다른 Volume으로 이전 사용했던 Brick을 다시 사용하려고 할 경우,

${brick_path} or a prefix of it is already part of a volume

이와 같은 에러가 뜬다.

해결 방법은,

setfattr -x trusted.glusterfs.volume-id $brick_path
setfattr -x trusted.gfid $brick_path
rm -rf $brick_path/.glusterfs

자세한 내용은 아래 블로그를 참고.

http://joejulian.name/blog/glusterfs-path-or-a-prefix-of-it-is-already-part-of-a-volume/

http://blog.daum.net/cypanic/2143317

Storage Pool Creation XML


Storage Volume Creation XML

Domain Creation XML

볼륨 생성이 실패를 하여 확인해보니,

Libvirt에서 아래와 같이 에러가 났다.

2012-09-19 06:09:15.007+0000: 15006: error : virFileOpenForceOwnerMode:796 : '/mnt/e57ef0ee-16c7-ed72-9726-53fa57612794/9098c1b7-b7ef-d155-fe58-70044f6aa41a'를 (0, 0)로 chown할 수 없음: 부적절한 인수

2012-09-19 06:09:15.007+0000: 15006: error : virStorageBackendCreateRaw:401 : 경로 /mnt/e57ef0ee-16c7-ed72-9726-53fa57612794/9098c1b7-b7ef-d155-fe58-70044f6aa41a를 생성할 수 없음: 부적절한 인수


권한 문제같아 확인해보니 nfs 로 마운트한 곳이 nobody로 되어 있었다.

drwxrwxrwx. 3 nobody nobody 20480 2012-09-19 20:29 e57ef0ee-16c7-ed72-9726-53fa57612794


참고로 nfs server의 설정은 아래와 같이 되어있다.

/home/data *(rw,async,no_root_squash)


구글링 한 결과 대충 nfs4 문제인거 같기도 하고, 설정문제같기도 한데, 일단은 버전을 바꿔서 임시로 해결하였다.

vim /etc/nfsmount.conf

Defaultvers=3

Nfsvers=3


version 4를 3으로 바꿔주고,

/etc/init.d/rpcbind restart

/etc/init.d/nfs restart


다시 마운트를 해보면 버전 3으로 되고 root로 되어 있다는 것을 확인할 수 있다.


설치 (configure 에서 error 나는 package 에 대해서는 추가 설치 필요)
# tar -xvf libvirt-0.X.X

# yum install gcc libc

# yum install libxml2-devel

# yum install gnutls gnutls-devel

# yum install device-mapper device-mapper-devel device-mapper-libs

# yum install python python-devel

# yum libnl-devel

# configure --prefix=/usr/local/libvirt

# make && make install


#./autogen.sh --system --prefix=/usr/local/libvirt --sysconfdir=/etc --localstatedir=/var

Path 설정

# vi /etc/profile

--> export LIBVIRT_HOME=/usr/local/libvirt

--> export PATH=${LIBVIRT_HOME}/bin:${LIBVIRT_HOME}/sbin:${PATH}

# . /etc/profile


링크설정

# cd /usr/sbin

# ln -s ${LIBVIRT_HOME}/sbin/libvirtd libvirtd

# cd /var/run

# ln -s ${LIBVIRT_HOME}/var/run/libvirt libvirt


데몬 서비스 복사

# cp ${LIBVIRT_HOME}/etc/rc.d/init.d/* /etc/rc.d/init.d/


functions 경로 수정

# vi /etc/rc.d/init.d/libvirtd

--> # Source function libriry

--> . /etc/rc.d/init.d/functions


데몬 시작

# service libvirtd start

다운로드

http://sourceforge.net/projects/kvm/files/qemu-kvm/


 

QEMU 설치

# tar -xvf qemu-kvm-1.0.tar.gz

# yum install glib2 glib2-devel

# configure --prefix=/usr/local/qemu

# make && make install


Path 설정

# vi /etc/profile

--> export QEMU_HOME=/usr/local/qemu

--> export PATH=${QEMU_HOME}/bin:${PATH}


링크 걸기

# cd /usr/bin

# ln -s {QEMU_HOME}/bin/qemu-system-x86_64 kvm


KVM llibrary load

# modprobe kvm

# modprobe kvm-intel


본문 : http://blog.daum.net/cbjazz/22

VM의 Root Disk를 가지고 VM들을 만들면서,

기존의 Root Disk를 이용해서 새로운 VM을 만들경우,

eth0 이 아닌 eth1이 만들어진다. 그 다음은 eth2.

물론 기존의 nic가 없을경우는 상관이 없지만, 기존에 nic 이 있을 경우 이런식이다.

/etc/udev/rules.d/ 를 보면 

70-persistent-net.rules 파일이 있는데,

이 파일을 열어 보면 nic 정보가 들어있다. (Centos6 기준)

이걸 보면 느낌이 오겠지만 기존 정보를 지우고 재부팅을 하면 원하는 eth로 사용을 할 수 있다.


+ Recent posts