35.7. RHEL 시스템 역할을 사용하여 로컬 스토리지 관리
Ansible을 사용하여 LVM 및 로컬 파일 시스템(FS)을 관리하려면 RHEL 8에서 사용할 수 있는 RHEL 시스템 역할 중 하나인 스토리지
역할을 사용할 수 있습니다.
스토리지
역할을 사용하면 RHEL 7.7부터 여러 시스템 및 모든 RHEL 버전에서 디스크 및 논리 볼륨에서 파일 시스템 관리를 자동화할 수 있습니다.
RHEL 시스템 역할 및 적용 방법에 대한 자세한 내용은 RHEL 시스템 역할 소개를 참조하십시오.
35.7.1. 스토리지 RHEL 시스템 역할을 사용하여 블록 장치에서 XFS 파일 시스템 생성 링크 복사링크가 클립보드에 복사되었습니다!
예제 Ansible 플레이북은 storage 역할을 사용하여 기본 매개 변수를 사용하여 블록 장치에 XFS 파일 시스템을 생성합니다. /dev/sdb
장치 또는 마운트 지점 디렉터리의 파일 시스템이 없으면 플레이북에서 해당 시스템을 생성합니다.
스토리지
역할은 파티션되지 않은 전체 디스크 또는 LV(논리 볼륨)에서만 파일 시스템을 생성할 수 있습니다. 파티션에 파일 시스템을 만들 수 없습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
이름: barefs
-
볼륨 이름(예의
barefs
)은 현재 임의의 상태입니다.스토리지
역할은disks
특성에 나열된 디스크 장치로 볼륨을 식별합니다. fs_type: <file_system>
-
기본 파일 시스템 XFS를 사용하려면
fs_type
매개변수를 생략할 수 있습니다. disks: <list_of_disks_and_volumes>
디스크 및 LV 이름의 YAML 목록입니다. LV에 파일 시스템을 생성하려면 볼륨 그룹을 포함하여
disks
속성 아래에 LVM 설정을 제공합니다. 자세한 내용은 스토리지 RHEL 시스템 역할을 사용하여 논리 볼륨 생성 또는 크기 조정을 참조하십시오.LV 장치의 경로를 제공하지 마십시오.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.2. 스토리지 RHEL 시스템 역할을 사용하여 파일 시스템을 영구적으로 마운트 링크 복사링크가 클립보드에 복사되었습니다!
예제 Ansible 플레이북은 storage 역할을 사용하여 기존 파일 시스템을 영구적으로 마운트합니다. 이를 통해 /etc/fstab
파일에 적절한 항목을 추가하여 파일 시스템을 즉시 사용할 수 있고 영구적으로 마운트할 수 있습니다. 이렇게 하면 재부팅 시 파일 시스템을 마운트 상태로 유지할 수 있습니다. /dev/sdb
장치 또는 마운트 지점 디렉터리의 파일 시스템이 없으면 플레이북에서 해당 시스템을 생성합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.3. 스토리지 RHEL 시스템 역할을 사용하여 논리 볼륨 생성 또는 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
스토리지
역할을 사용하여 다음 작업을 수행합니다.
- 여러 디스크로 구성된 볼륨 그룹에 LVM 논리 볼륨을 만들려면 다음을 수행합니다.
- LVM에서 기존 파일 시스템의 크기를 조정하려면 다음을 수행합니다.
- 풀의 총 크기의 백분율로 LVM 볼륨 크기를 표현하려면
볼륨 그룹이 없으면 역할이 생성됩니다. 논리 볼륨이 볼륨 그룹에 있는 경우 크기가 플레이북에 지정된 것과 일치하지 않으면 크기가 조정됩니다.
논리 볼륨을 줄이는 경우 데이터 손실을 방지하기 위해 논리 볼륨의 파일 시스템이 축소되는 논리 볼륨의 공간을 사용하지 않도록 해야 합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
크기: < ;size>
- 단위(예: GiB) 또는 백분율(예: 60 %)을 사용하여 크기를 지정해야 합니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
지정된 볼륨이 요청된 크기로 생성되거나 크기가 조정되었는지 확인합니다.
ansible managed-node-01.example.com -m command -a 'lvs myvg'
# ansible managed-node-01.example.com -m command -a 'lvs myvg'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.4. 스토리지 RHEL 시스템 역할을 사용하여 온라인 블록 삭제 활성화 링크 복사링크가 클립보드에 복사되었습니다!
온라인 블록 삭제 옵션으로 XFS 파일 시스템을 마운트하여 사용되지 않는 블록을 자동으로 삭제할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
온라인 블록 삭제 옵션이 활성화되어 있는지 확인합니다.
ansible managed-node-01.example.com -m command -a 'findmnt /mnt/data'
# ansible managed-node-01.example.com -m command -a 'findmnt /mnt/data'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.5. 스토리지 RHEL 시스템 역할을 사용하여 파일 시스템 생성 및 마운트 링크 복사링크가 클립보드에 복사되었습니다!
예제 Ansible 플레이북은 storage 역할을 사용하여 파일 시스템을 생성하고 마운트합니다. 이를 통해 /etc/fstab
파일에 적절한 항목을 추가하여 파일 시스템을 즉시 사용할 수 있고 영구적으로 마운트할 수 있습니다. 이렇게 하면 재부팅 시 파일 시스템을 마운트 상태로 유지할 수 있습니다. /dev/sdb
장치 또는 마운트 지점 디렉터리의 파일 시스템이 없으면 플레이북에서 해당 시스템을 생성합니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
disks: <list_of_devices>
- 역할이 볼륨을 생성할 때 사용하는 장치 이름의 YAML 목록입니다.
fs_type: <file_system>
-
역할이 볼륨에 설정해야 하는 파일 시스템을 지정합니다.
xfs
,ext3
,ext4
,swap
또는포맷되지
않음을 선택할 수 있습니다. label-name: <file_system_label>
- 선택 사항: 파일 시스템의 레이블을 설정합니다.
mount_point: < directory>
-
선택 사항: 볼륨을 자동으로 마운트해야 하는 경우
mount_point
변수를 볼륨을 마운트해야 하는 디렉터리로 설정합니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.6. 스토리지 RHEL 시스템 역할을 사용하여 RAID 볼륨 구성 링크 복사링크가 클립보드에 복사되었습니다!
스토리지
시스템 역할을 사용하면 Red Hat Ansible Automation Platform 및 Ansible-Core를 사용하여 RHEL에서 RAID 볼륨을 구성할 수 있습니다. 요구 사항에 맞게 RAID 볼륨을 구성하는 매개 변수를 사용하여 Ansible 플레이북을 생성합니다.
장치 이름은 예를 들어 시스템에 새 디스크를 추가할 때 특정 상황에서 변경될 수 있습니다. 따라서 데이터 손실을 방지하려면 플레이북에서 영구 이름 지정 속성을 사용합니다. 영구 이름 지정 속성에 대한 자세한 내용은 영구 이름 지정 특성 개요 를 참조하십시오.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
배열이 올바르게 생성되었는지 확인합니다.
ansible managed-node-01.example.com -m command -a 'mdadm --detail /dev/md/data'
# ansible managed-node-01.example.com -m command -a 'mdadm --detail /dev/md/data'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.7. 스토리지 RHEL 시스템 역할을 사용하여 RAID로 LVM 풀 구성 링크 복사링크가 클립보드에 복사되었습니다!
스토리지
시스템 역할을 사용하면 Red Hat Ansible Automation Platform을 사용하여 RHEL에서 RAID로 LVM 풀을 구성할 수 있습니다. 사용 가능한 매개 변수로 Ansible 플레이북을 설정하여 RAID로 LVM 풀을 구성할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
풀이 RAID에 있는지 확인합니다.
ansible managed-node-01.example.com -m command -a 'lsblk'
# ansible managed-node-01.example.com -m command -a 'lsblk'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.8. 스토리지 RHEL 시스템 역할을 사용하여 RAID LVM 볼륨의 스트라이프 크기 구성 링크 복사링크가 클립보드에 복사되었습니다!
스토리지
시스템 역할을 사용하면 Red Hat Ansible Automation Platform을 사용하여 RHEL에서 RAID LVM 볼륨의 스트라이프 크기를 구성할 수 있습니다. 사용 가능한 매개 변수로 Ansible 플레이북을 설정하여 RAID로 LVM 풀을 구성할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
스트라이프 크기가 필요한 크기로 설정되어 있는지 확인합니다.
ansible managed-node-01.example.com -m command -a 'lvs -o+stripesize /dev/my_pool/my_volume'
# ansible managed-node-01.example.com -m command -a 'lvs -o+stripesize /dev/my_pool/my_volume'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.9. 스토리지 RHEL 시스템 역할을 사용하여 LVM-VDO 볼륨 구성 링크 복사링크가 클립보드에 복사되었습니다!
스토리지
RHEL 시스템 역할을 사용하여 활성화된 압축 및 중복 제거로 LVM(LVM-VDO)에서 VDO 볼륨을 생성할 수 있습니다.
스토리지
시스템 역할은 LVM-VDO를 사용하므로 풀당 하나의 볼륨만 생성할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
vdo_pool_size: <size>
- 볼륨이 장치에서 사용하는 실제 크기입니다. 사용자가 읽을 수 있는 형식으로 크기를 지정할 수 있습니다(예: 10GiB). 단위를 지정하지 않으면 기본값은 바이트입니다.
크기: < ;size>
- VDO 볼륨의 가상 크기입니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
압축 및 중복 제거의 현재 상태를 확인합니다.
ansible managed-node-01.example.com -m command -a 'lvs -o+vdo_compression,vdo_compression_state,vdo_deduplication,vdo_index_state'
$ ansible managed-node-01.example.com -m command -a 'lvs -o+vdo_compression,vdo_compression_state,vdo_deduplication,vdo_index_state' LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert VDOCompression VDOCompressionState VDODeduplication VDOIndexState mylv1 myvg vwi-a-v--- 3.00t vpool0 enabled online enabled online
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
35.7.10. 스토리지 RHEL 시스템 역할을 사용하여 LUKS2 암호화된 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
storage
역할을 사용하여 Ansible 플레이북을 실행하여 LUKS로 암호화된 볼륨을 생성하고 구성할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
프로세스
중요한 변수를 암호화된 파일에 저장합니다.
자격 증명 모음을 생성합니다.
ansible-vault create ~/vault.yml
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-vault create
명령이 편집기를 열고 <key > : < value
> 형식으로 중요한 데이터를 입력합니다.luks_password: <password>
luks_password: <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 변경 사항을 저장하고 편집기를 종료합니다. Ansible은 자격 증명 모음의 데이터를 암호화합니다.
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.storage/README.md
파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook --ask-vault-pass ~/playbook.yml
$ ansible-playbook --ask-vault-pass ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
LUKS 암호화된 볼륨의
luksUUID
값을 찾습니다.ansible managed-node-01.example.com -m command -a 'cryptsetup luksUUID /dev/sdb'
# ansible managed-node-01.example.com -m command -a 'cryptsetup luksUUID /dev/sdb' 4e4e7970-1822-470e-b55a-e91efe5d0f5c
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨의 암호화 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 LUKS 암호화된 볼륨을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow