XEN VM(Centos 5.3)용 블록 장치인 DRBD

XEN VM(Centos 5.3)용 블록 장치인 DRBD

2개의 서버 노드 사이에 drbd 리소스를 설정했습니다. 둘 사이에 동기화 테스트를 수행할 때 모든 것이 올바르게 작동합니다. (drbd,xen 및 heartbeat를 사용하여 HA 클러스터를 생성하고 싶습니다)

그러나 Centos를 게스트 운영 체제로 사용하여 XEN VM을 만들려고 하면 설치 시 파티션 화면이 표시되지만 파티션 유형을 선택하면 다음 화면에 다음 오류가 표시됩니다.

"오류가 발생했습니다. 새 파일 시스템을 생성할 유효한 장치를 찾을 수 없습니다. 하드웨어를 확인하여 이 문제의 원인을 확인하십시오."

이런 설정을 만드는 것은 처음 시도하는 것이며 Google 검색은 별로 도움이 되지 않습니다...

DRBD 및 XEN에 대한 내 구성 파일....

DRBD(해당 섹션만)

xennode0에서 { 장치 /dev/drbd0; 디스크 /dev/sda5; 주소 XXXX:7788; 유연한 메타 디스크 내부; }

xennode1에서 { 장치 /dev/drbd0; 디스크 /dev/sda5; 주소 XXXX:7788; 메타디스크 내부; }

kernel = "/boot/xeninstall/vmlinuz" ramdisk = "/boot/xeninstall/initrd.img" extra = "text" name = "VM" maxmem = 3000 memory = 3000 vcpus = 4 on_poweroff = "destroy" on_reboot = "restart " on_crash = "restart" vfb = [ ] disk = [ "phy:/dev/drbd0,sda1,w", "tap:aio:/srv/xen/xenswap.img,sda2,w" ] vif = [ "mac =00:16:3e:11:67:ae,bridge=xenbr0" ] root = "/dev/sda1 ro"

미리 감사드립니다!

답변1

글쎄, 내가 머리카락을 뽑은 것처럼 보이므로 내 질문에 대답하고 다른 사람이 머리카락을 뽑는 수고를 덜어 드리겠습니다 :)

해결책:

이리저리 놀고 난 후, 인터넷 검색과 파티션 재분할 등을 많이 했습니다... 매력처럼 작동하는 설정에 이르렀습니다.

이 작업을 수행하는 더 빠른 방법이 있을 수 있지만 이 답변을 지나치게 복잡하게 만들지는 않겠습니다.

나는 다음과 같은 파티션을 사용하여 표준 설치를 수행했습니다(500g 하드 드라이브가 있습니다).

/boot 100mb 
/swap 4gb 
/     40gb 

디스크 공간의 나머지 부분은 분할되지 않은 공간으로 남겨집니다.

그런 다음 다음 단계에 따라 /dev/sda4라는 기본 파티션을 만들었습니다.

~: fdisk /dev/sda
~: (fdisk shell) p4   (for primary partition # 4)
~: (fdisk shell) t    (hit t and enter to edit the partition type)
~: (fdisk shell) 08e  (Linux LVM)

새 파티션이 적용되도록 서버를 재부팅합니다.

이제 다음을 수행하여 논리 볼륨을 생성하십시오.

~: pvcreate /dev/sda4
~: vgcreate xenvg -s 4M /dev/sda4    # (xenvg is the name of my virtual group, you can rename it)
~: lvcreate -L400G -n xenroot xenvg  # (xenroot is going to be my drbd  resource and root partition for my DomU)
~: lvcreate -L4G  -n xenswap xenvg   # (xenswap is my swap file for my DomU)

이제 올바른 파티셔닝이 완료되었으므로 다음 구성 파일 지시문(drbd.conf)을 사용하여 DRBD를 설치할 수 있습니다.

여기에 2가지 중요한 지시문을 표시하면 됩니다.

{
device  /dev/drbd0;
disk    /dev/xenvg/xenroot;
}

XEN VM 구성 파일은 다음과 같아야 합니다(다시 말하지만, 중요한 것임)

{
disk = [ "drbd:xenvm,xvda,w","phy:xenvg/xenswap,xvdb,w" ]
}

이것이 누군가에게 도움이 되기를 바랍니다...

답변2

따라서 여기서 중요한 두 가지 사항이 있습니다.

  1. DomU가 보게 될 장치에 대해 파티션 대신 전체 디스크를 사용하는 것이 더 좋습니다.
  2. DomU 내에서 표준 장치 이름 사용(xvd*)

나는 최신 SLES SP3 커널 패치를 사용하여 후자를 우연히 발견했습니다. 그때까지 나는 DomU 내에서 장치 이름으로 "sda"를 사용하고 있었습니다.

이제 커널 패치를 적용하는 동안 반가상화된 DomU가 중단되었습니다. 패치 프로세스의 흔적을 보면 무언가가 마치 물리적 디스크인 것처럼 sda에 액세스하려고 시도하고 있는 것으로 나타났습니다. sda를 xvda로 변경한 후에는 더 이상 문제가 없었습니다.

CentOS 4를 반가상화 DomU로 사용하는 경우 "sda"를 사용하는 것도 상당히 까다로웠습니다. 저는 해당 장치에 scsi 드라이버를 사용하지 않고 대신 xenblock 드라이버를 사용하도록 시스템을 설득해야 했습니다. 기본적으로 같은 문제입니다.

관련 정보