3.4. 클러스터에서 볼륨 그룹의 단독 활성화
다음의 절차에 따라 LVM 볼륨 그룹을 설정하면 오직 클러스터만이 볼륨 그룹을 활성화시킬 수 있고 시작 시 클러스터 밖에서 볼륨 그룹이 활성화되지 않도록 설정됩니다. 만약 볼륨 그룹이 클러스터 밖에 있는 시스템에 의해 활성화되면 볼륨 그룹의 메타데이터가 손상될 수 있는 위험이 있습니다.
이 절차는
/etc/lvm/lvm.conf
설정 파일에 있는 volume_list
항목을 수정합니다. volume_list
목록에 있는 볼륨 그룹은 클러스터 관리자의 제어 범위를 벗어난 로컬 노드에서 자동으로 활성화되는 게 허용됩니다. 그 노드의 로컬 루트와 홈 디렉토리에 관련된 볼륨 그룹이 이 목록에 포함되어야 합니다. 클러스터 관리자가 관리하는 모든 볼륨 그룹은 volume_list
항목에서 제외되어야 합니다. 이 절차는 clvmd
의 사용을 필요로 하지 않습니다.
클러스터의 각 노드에 다음과 같은 절차를 수행합니다.
locking_type
이 1로 설정되어 있고/etc/lvm/lvm.conf
파일에서use_lvmetad
가 0으로 설정되어 있도록 확실히 하기 위해 다음의 명령을 실행합니다. 이 명령은 모든lvmetad
프로세스를 즉시 비활성화 및 중지합니다.#
lvmconf --enable-halvm --services --startstopservices
- 다음의 명령을 사용해서 어느 볼륨 그룹이 현재 사용자의 로컬 스토리지에 설정되어 있는지 확인합니다. 이 명령을 통해 현재 설정되어 있는 볼륨 그룹 목록이 표시됩니다. 이 노드에 루트와 홈 디렉토리를 위해 각각의 볼륨 그룹에 공간을 할당해 놓았다면 다음의 예시에서와 같이 그 볼륨을 표시된 목록에서 볼 수 있습니다.
#
vgs --noheadings -o vg_name
my_vg rhel_home rhel_root my_vg
(사용자가 방금 클러스터를 위해 정의한 볼륨 그룹) 이외의 볼륨 그룹을/etc/lvm/lvm.conf
설정 파일에 항목으로 추가합니다. 예를 들어, 각각의 볼륨 그룹에 루트와 홈 디렉토리를 위한 공간을 할당해 놓았다면lvm.conf
파일의volume_list
행을 주석 해제 처리하고 그 볼륨 그룹을 다음과 같이volume_list
에 항목으로 추가합니다.volume_list = [ "rhel_root", "rhel_home" ]
참고
클러스터 관리자 밖에서 활성화되는 노드에 로컬 볼륨 그룹이 하나도 없다 하더라도 사용자는volume_list
항목을volume_list = []
로 초기화해야 합니다.- 부트 이미지가 클러스터에 의해 제어되는 볼륨 그룹을 활성화하려고 시도하지 않도록 보장하기 위해
initramfs
부트 이미지를 재구축합니다. 다음의 명령을 사용해서initramfs
장치를 업데이트합니다. 이 명령이 완료되려면 1분 정도 소요될 것입니다.#
dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)
- 노드를 재부팅합니다.
참고
사용자가 부트 이미지를 생성한 노드를 부팅한 후 새로운 Linux 커널을 설치했다면 새로운initrd
이미지는 사용자가 노드를 재부팅했을 때 실행중인 새로운 커널이 아니라 사용자가 부트 이미지를 생성했을 때 실행중이었던 커널을 위한 것입니다. 올바른initrd
장치를 사용중인지 확인하려면 재부팅 전과 후에uname -r
명령을 실행해서 실행중인 커널 릴리즈를 확인합니다. 릴리즈가 동일하지 않다면 새로운 커널로 재부팅하고 나서initrd
파일을 업데이트한 후 노드를 재부팅합니다. - 노드가 재부팅된 후 그 노드에 클러스터 서비스가 다시 시작되었는지 확인하기 위해 그 노드에서
pcs cluster status
명령을 실행합니다. 이를 통해Error: cluster is not currently running on this node
라는 메시지가 표시된다면 다음의 명령을 실행합니다.#
pcs cluster start
다른 방법으로, 클러스터의 각 노드가 재부팅될 때까지 기다린 후에 다음의 명령을 실행해서 클러스터의 모든 노드에 클러스터 서비스를 시작합니다.#
pcs cluster start --all