스토리지 장치 관리
로컬 및 원격 스토리지 장치 구성 및 관리
초록
- 요구 사항에 따라 디스크 파티션을 만듭니다. 블록 장치의 데이터를 보호하려면 디스크 암호화를 사용합니다.
- RAID(Redundant Array of Independent Disks)를 만들어 여러 드라이브에 데이터를 저장하고 데이터 손실을 방지합니다.
- Fabrics보다 iSCSI 및 NVMe를 사용하여 네트워크를 통해 스토리지에 액세스합니다.
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서에 대한 피드백에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (등록 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 모음에서 생성 을 클릭합니다.
- Summary (요약) 필드에 설명 제목을 입력합니다.
- Description (설명) 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. 사용 가능한 스토리지 옵션 개요 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8에서는 여러 로컬, 원격 및 클러스터 기반 스토리지 옵션이 있습니다.
로컬 스토리지는 스토리지 장치가 시스템에 설치되거나 시스템에 직접 연결되어 있음을 나타냅니다.
원격 스토리지를 사용하면 LAN, 인터넷 또는 파이버 채널 네트워크를 사용하여 장치에 액세스합니다. 다음과 같은 높은 수준의 Red Hat Enterprise Linux 스토리지 다이어그램은 다양한 스토리지 옵션을 설명합니다.
그림 1.1. 높은 수준의 Red Hat Enterprise Linux 스토리지 다이어그램
1.1. 로컬 스토리지 개요 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 8은 여러 로컬 스토리지 옵션을 제공합니다.
- 기본 디스크 관리
parted및fdisk를 사용하여 디스크 파티션을 생성, 수정, 삭제 및 볼 수 있습니다. 다음은 파티션 레이아웃 표준입니다.- MBR(Master Boot Record)
- BIOS 기반 컴퓨터와 함께 사용됩니다. 기본, 확장 및 논리 파티션을 생성할 수 있습니다.
- GUID 파티션 테이블 (GPT)
- GUID(글로벌 고유 식별자)를 사용하고 고유한 디스크 및 파티션 GUID를 제공합니다.
- 스토리지 소비 옵션
- 비Volatile 듀얼 인라인 메모리 모듈 (NVDIMM) 관리
- 메모리와 스토리지의 조합입니다. 시스템에 연결된 NVDIMM 장치에서 다양한 유형의 스토리지를 활성화하고 관리할 수 있습니다.
- 블록 스토리지 관리
- 데이터는 각 블록에 고유한 식별자가 있는 블록 형태로 저장됩니다.
- 파일 스토리지
- 데이터는 로컬 시스템의 파일 수준에 저장됩니다. 이러한 데이터는 NFS 및 SMB를 사용하여 XFS(기본값) 또는 ext4를 사용하여 로컬에서 액세스할 수 있습니다.
- 논리 볼륨
- LVM(Logical Volume Manager)
- 물리적 장치에서 논리적 장치를 생성합니다. LV(논리 볼륨)는 PV(물리 볼륨)와 VG(볼륨 그룹)의 조합입니다.
- VDO(가상 데이터 최적화 도구)
중복 제거, 압축 및 씬 프로비저닝을 사용하여 데이터 감소에 사용됩니다. VDO 아래에 LV를 사용하면 다음과 같은 이점이 있습니다.
- VDO 볼륨 확장
- 여러 장치에 VDO 볼륨 확장
- 로컬 파일 시스템
- XFS
- 기본 RHEL 파일 시스템.
- Ext4
- 레거시 파일 시스템.
- Stratis
- 기술 프리뷰로 사용할 수 있습니다. Stratis는 고급 스토리지 기능을 지원하는 하이브리드 사용자 및 커널 로컬 스토리지 관리 시스템입니다.
1.2. 원격 스토리지 개요 링크 복사링크가 클립보드에 복사되었습니다!
다음은 RHEL 8에서 사용할 수 있는 원격 스토리지 옵션입니다.
- 스토리지 연결 옵션
- iSCSI
- RHEL 8에서는 targetcli 도구를 사용하여 iSCSI 스토리지 상호 연결을 추가, 제거, 보기 및 모니터링합니다.
- 파이버 채널 (FC)
RHEL 8에서는 다음과 같은 기본 파이버 채널 드라이버를 제공합니다.
-
lpfc -
qla2xxx -
Zfcp
-
- NVMe(Non-volatile Memory Express)
호스트 소프트웨어 유틸리티가 솔리드 스테이트 드라이브와 통신할 수 있는 인터페이스입니다. 다음 유형의 패브릭 전송을 사용하여 패브릭을 통해 NVMe를 구성합니다.
- Remote Direct Memory Access(NVMe/RDMA)를 사용하는 패브릭의 NVMe
- 파이버 채널(NVMe/FC)을 사용하는 패브릭의 NVMe
- 장치 매퍼 다중 경로(DM Multipath)
- 서버 노드와 스토리지 어레이 간에 여러 I/O 경로를 단일 장치로 구성할 수 있습니다. 이러한 I/O 경로는 별도의 케이블, 스위치 및 컨트롤러를 포함할 수 있는 물리적 SAN 연결입니다.
- 네트워크 파일 시스템
- NFS
- SMB
1.3. GFS2 파일 시스템 개요 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat GFS2(Global File System 2) 파일 시스템은 공유 네임 스페이스를 제공하고 공통 블록 장치를 공유하는 여러 노드 간의 일관성을 관리하는 64비트 대칭 클러스터 파일 시스템입니다. GFS2 파일 시스템은 로컬 파일 시스템과 최대한 가까운 동시에 노드 간에 전체 클러스터 일관성을 적용하는 기능 세트를 제공하기 위한 것입니다. 이를 위해 노드는 파일 시스템 리소스에 클러스터 전체 잠금 체계를 사용합니다. 이 잠금 체계에서는 TCP/IP와 같은 통신 프로토콜을 사용하여 잠금 정보를 교환합니다.
몇 가지 경우 Linux 파일 시스템 API에서는 클러스터된 GFS2의 특성을 완전히 투명하게 허용하지 않습니다. 예를 들어, GFS2에서 POSIX 잠금을 사용하는 프로그램은 클러스터형 환경에서는 클러스터의 다른 노드에 대한 프로세스 ID일 수 있으므로 GETLK 기능을 사용하지 않아야 합니다. 그러나 대부분의 경우 GFS2 파일 시스템의 기능은 로컬 파일 시스템의 기능과 동일합니다.
Red Hat Enterprise Linux 복구 스토리지 애드온은 GFS2를 제공하며 Red Hat Enterprise Linux High Availability Add-On을 통해 GFS2에 필요한 클러스터 관리를 제공합니다.
gfs2.ko 커널 모듈은 GFS2 파일 시스템을 구현하고 GFS2 클러스터 노드에 로드됩니다.
GFS2에서 최상의 성능을 얻으려면 기본 설계에서 비롯된 성능 고려 사항을 고려해야 합니다. 로컬 파일 시스템과 마찬가지로 GFS2는 자주 사용되는 데이터의 로컬 캐싱을 통해 성능을 향상시키기 위해 페이지 캐시를 사용합니다. 클러스터의 노드 전체에서 일관성을 유지하기 위해 glock 상태 시스템에서 캐시 제어가 제공됩니다.
2장. 디스크 파티션 링크 복사링크가 클립보드에 복사되었습니다!
디스크를 하나 이상의 논리 영역으로 분할하려면 디스크 파티션 유틸리티를 사용합니다. 각 파티션을 별도로 관리할 수 있습니다.
2.1. 파티션 개요 링크 복사링크가 클립보드에 복사되었습니다!
하드 디스크는 파티션 테이블의 각 디스크 파티션의 위치와 크기에 대한 정보를 저장합니다. 파티션 테이블의 정보를 사용하여 운영 체제는 각 파티션을 논리 디스크로 처리합니다. 디스크 파티션의 몇 가지 장점은 다음과 같습니다.
- 물리 볼륨의 관리 감독 가능성 감소
- 충분한 백업 확인
- 효율적인 디스크 관리 제공
2.2. 파티션 테이블 유형 비교 링크 복사링크가 클립보드에 복사되었습니다!
장치에서 파티션을 활성화하려면 다른 유형의 파티션 테이블로 블록 장치를 포맷합니다. 다음 표에서는 블록 장치에서 만들 수 있는 다양한 유형의 파티션 테이블의 속성을 비교합니다.
이 섹션에서는 IBM Z 아키텍처에 고유한 DASD 파티션 테이블을 다루지 않습니다.
| 파티션 테이블 | 최대 파티션 수 | 최대 파티션 크기 |
|---|---|---|
| MBR(Master Boot Record) | 4 기본 또는 3 기본 파티션 및 12 개의 논리 파티션이있는 확장 파티션 |
2 512 b 섹터 드라이브를 사용하는 경우 |
| GUID 파티션 테이블 (GPT) | 128 |
4 k 섹터 드라이브를 사용하는 경우 512 b 섹터 드라이브 |
2.3. MBR 디스크 파티션 링크 복사링크가 클립보드에 복사되었습니다!
파티션 테이블은 디스크 시작 부분에 저장된 파일 시스템 또는 사용자 데이터 앞에 저장됩니다. 보다 명확한 예를 들어 다음 다이어그램에서 파티션 테이블이 별도의 것으로 표시됩니다.
그림 2.1. MBR 파티션 테이블이 있는 디스크
이전 다이어그램에서 볼 수 있듯이 파티션 테이블은 사용되지 않은 4개의 기본 파티션 4개의 섹션으로 나뉩니다. 기본 파티션은 하나의 논리 드라이브(또는 섹션)만 포함하는 하드 디스크 드라이브의 파티션입니다. 각 논리 드라이브에는 단일 파티션을 정의하는 데 필요한 정보가 있습니다. 즉 파티션 테이블이 4개 이상의 기본 파티션을 정의할 수 없습니다.
각 파티션 테이블 항목에는 파티션의 중요한 특성이 포함되어 있습니다.
- 파티션이 시작되고 끝나는 디스크 지점
-
파티션의 상태는 하나의 파티션만
active로 플래그를 지정할 수 있으므로 - 파티션 유형입니다.
시작 및 종료 포인트는 디스크의 파티션의 크기와 위치를 정의합니다. 일부 운영 체제 부트 로더는 활성 플래그를 사용합니다. 즉, "활성"으로 표시된 파티션의 운영 체제가 부팅됩니다.
유형은 파티션의 예상 사용을 식별하는 번호입니다. 일부 운영 체제는 다음과 같이 파티션 유형을 사용합니다.
- 특정 파일 시스템 유형을 나타냅니다.
- 파티션을 특정 운영 체제와 관련된 플래그
- 파티션에 부팅 가능한 운영 체제가 포함되어 있음을 나타냅니다.
다음 다이어그램에서는 단일 파티션이 있는 드라이브의 예를 보여줍니다. 이 예에서 첫 번째 파티션은 idrac 파티션 유형으로 레이블이 지정됩니다.
그림 2.2. 단일 파티션이 있는 디스크
2.4. 확장 MBR 파티션 링크 복사링크가 클립보드에 복사되었습니다!
필요한 경우 추가 파티션을 만들려면 유형을 확장 로 설정합니다.
확장 파티션은 디스크 드라이브와 유사합니다. 확장 파티션에 전체적으로 포함된 하나 이상의 논리 파티션을 가리키는 자체 파티션 테이블이 있습니다. 다음 다이어그램에서는 두 개의 기본 파티션이 있는 디스크 드라이브와 파티션되지 않은 여유 공간과 함께 두 개의 논리 파티션을 포함하는 확장 파티션 하나를 보여줍니다.
그림 2.3. 기본 파티션과 확장된 reserved 파티션이 둘 다 있는 디스크
최대 4개의 기본 파티션과 확장 파티션만 보유할 수 있지만 논리 파티션 수에는 고정된 제한이 없습니다. Linux에서 파티션에 액세스하기 위한 제한으로 단일 디스크 드라이브로 최대 15개의 파티션이 허용됩니다.
2.5. MBR 파티션 유형 링크 복사링크가 클립보드에 복사되었습니다!
아래 표는 가장 일반적으로 사용되는 STATUS 파티션 유형 및 16진수 숫자 중 일부를 나타내는 목록을 보여줍니다.
| MBR 파티션 유형 | 현재의 | MBR 파티션 유형 | 현재의 |
| 비어있습니다 | 00 | Novell Netware 386 | 65 |
| DOS 12비트 FAT | 01 | PIC/IX | 75 |
| XENIX 루트 | O2 | 이전 MINIX | 80 |
| XENIX usr | O3 | Linux/MINUX | 81 |
| DOS 16-bit ⇐32M | 04 | Linux 스왑 | 82 |
| 확장 | 05 | Linux 네이티브 | 83 |
| DOS 16-bit >=32 | 06 | Linux 확장 | 85 |
| OS/2 HPFS | 07 | amoeba | 93 |
| AIX | 08 | amoeba BBT | 94 |
| AIX 부팅 가능 | 09 | BSD/386 | a5 |
| OS/2 부트 관리자 | 0a | OpenBSD | a6 |
| Win95 FAT32 | 0b | NEXTSTEP | a7 |
| Win95 FAT32 (LBA) | 0c | BSDI fs | b7 |
| Win95 FAT16 (LBA) | 0e | BSDI 스왑 | b8 |
| Win95 연장 (LBA) | 0f | Syrinx | c7 |
| Venix 80286 | 40 | CP/M | db |
| Novell | 51 | DOS 액세스 | e1 |
| prep Boot | 41 | DOS R/O | e3 |
| GNU HURD | 63 | DOS 2차 | f2 |
| Novell Netware 286 | 64 | BBT | ff |
2.6. GUID 파티션 테이블 링크 복사링크가 클립보드에 복사되었습니다!
GUID 파티션 테이블(GPT)은 GUID(Globally Unique Identifier)를 기반으로 하는 파티션 구성입니다.
GPT는 Mater Boot Record (MBR) 파티션 테이블의 제한 사항을 다룹니다. MBR 파티션 테이블은 2TiB보다 큰 스토리지를 처리할 수 없으며 약 2.2TB와 동일합니다. 대신 GPT는 용량이 큰 하드 디스크를 지원합니다. 최대 주소 가능한 디스크 크기는 512b 섹터 드라이브를 사용할 때 8ZiB이며 4096b 섹터 드라이브를 사용할 때 64ZiB입니다. 또한 GPT는 기본적으로 최대 128개의 기본 파티션 생성을 지원합니다. 파티션 테이블에 더 많은 공간을 할당하여 기본 파티션의 최대 크기를 확장합니다.
GPT에는 GUID를 기반으로 하는 파티션 유형이 있습니다. 특정 파티션에는 특정 GUID가 필요합니다. 예를 들어 EFI(Extensible Firmware Interface) 부트 로더의 시스템 파티션에는 GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B 가 필요합니다.
GPT 디스크는 다음과 같이 논리 블록 주소 지정(LBA)과 파티션 레이아웃을 사용합니다.
- MBR 디스크와의 역호환을 위해 시스템은 MBR 데이터에 대해 GPT의 첫 번째 섹터(LBA 0)를 예약하고 "protective MBR"이라는 이름을 적용합니다.
기본 GPT
- 헤더는 장치의 두 번째 논리 블록 (LBA 1)에서 시작됩니다. 헤더에는 디스크 GUID, 기본 파티션 테이블 위치, 보조 GPT 헤더의 위치, CRC32 체크섬 자체, 기본 파티션 테이블이 포함되어 있습니다. 또한 테이블의 파티션 항목 수를 지정합니다.
- 기본적으로 기본 GPT에는 128개의 파티션 항목이 포함되어 있습니다. 각 파티션에는 128바이트, 파티션 유형 GUID 및 고유한 파티션 GUID의 입력 크기가 있습니다.
secondary GPT
- 복구를 위해 기본 파티션 테이블이 손상된 경우 백업 테이블로 유용합니다.
- 디스크의 마지막 논리 섹터에는 보조 GPT 헤더가 포함되어 있으며 기본 헤더가 손상된 경우 GPT 정보를 복구합니다.
다음이 포함됩니다.
- 디스크 GUID
- 보조 파티션 테이블 및 기본 GPT 헤더의 위치
- CRC32 체크섬s
- 보조 파티션 테이블
- 사용 가능한 파티션 항목 수
그림 2.4. GUID 파티션 테이블이 있는 디스크
GPT 디스크에 부트 로더를 성공적으로 설치하려면 BIOS 부팅 파티션이 있어야 합니다. 디스크에 BIOS 부팅 파티션이 이미 포함된 경우에만 재사용할 수 있습니다. 여기에는 Anaconda 설치 프로그램에서 초기화한 디스크가 포함됩니다.
2.7. 파티션 유형 링크 복사링크가 클립보드에 복사되었습니다!
파티션 유형을 관리하는 방법은 여러 가지가 있습니다.
-
fdisk유틸리티는 16진수 코드를 지정하여 전체 파티션 유형을 지원합니다. -
장치 생성기 유틸리티인
systemd-gpt-auto-generator는 파티션 유형을 사용하여 장치를 자동으로 식별하고 마운트합니다. parted유틸리티는 플래그 와 함께 파티션 유형을 매핑합니다.parted유틸리티는 특정 파티션 유형(예: LVM, 스왑 또는 RAID)만 처리합니다.parted유틸리티는 다음 플래그 설정을 지원합니다.-
boot -
root -
swap -
숨김 -
RAID -
lvm -
lba -
legacy_boot -
irst -
esp -
Palo
-
parted 유틸리티는 선택적으로 파티션을 생성하는 동안 파일 시스템 유형 인수를 허용합니다. 필요한 조건 목록은 parted가 있는 파티션 생성을 참조하십시오. 다음 값을 사용합니다.
- GPT에 파티션 플래그를 설정합니다.
-
GPT에 파티션 UUID 유형을 설정합니다. 예를 들어
스왑,fat또는hfs파일 시스템 유형은 다른 GUID를 설정합니다. 기본값은 Linux Data GUID입니다.
인수는 파티션의 파일 시스템을 변경하지 않습니다. 지원되는 플래그와 GUID만 구분합니다.
다음과 같은 파일 시스템 유형이 지원됩니다.
-
xfs -
ext2 -
ext3 -
ext4 -
fat16 -
fat32 -
hfs -
hfs+ -
linux-swap -
ntfs -
reiserfs
RHEL 8에서 지원되는 유일한 로컬 파일 시스템은 ext4 및 xfs 입니다.
2.8. 파티션 이름 지정 체계 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux는 /dev/xyN 형식의 파일 이름과 함께 파일 기반 이름 지정 체계를 사용합니다.
장치 및 파티션 이름은 다음 구조로 구성됩니다.
/dev/-
모든 장치 파일이 들어 있는 디렉터리의 이름입니다. 하드 디스크에는 파티션이 포함되어 있으므로 가능한 모든 파티션을 나타내는 파일은
/dev에 있습니다. xx- 파티션 이름의 처음 두 문자는 파티션을 포함하는 장치의 유형을 나타냅니다.
y-
이 문자는 파티션을 포함하는 특정 장치를 나타냅니다. 예를 들어 첫 번째 하드 디스크인
/dev/sda와 두 번째 하드 디스크의/dev/sdb입니다. 26개 이상의 드라이브(예:/dev/sdaa1)가 있는 시스템에서 더 많은 문자를 사용할 수 있습니다. N-
마지막 문자는 파티션을 나타내는 숫자를 나타냅니다. 처음 네 개의 (기본 또는 확장) 파티션은
1에서4로 번호가 매겨집니다. 논리 파티션은5에서 시작합니다. 예를 들어/dev/sda3은 첫 번째 하드 디스크의 세 번째 주 또는 확장 파티션이며,/dev/sdb6은 두 번째 하드 디스크의 두 번째 논리 파티션입니다. 드라이브 파티션 번호 지정은 MBR 파티션 테이블에만 적용됩니다. N 이 항상 파티션을 의미하지는 않습니다.
Red Hat Enterprise Linux가 모든 유형의 디스크 파티션을 식별하고 참조할 수 있더라도 파일 시스템을 읽을 수 없으므로 모든 파티션 유형에 저장된 데이터에 액세스할 수 있습니다. 그러나 많은 경우 다른 운영 체제 전용 파티션의 데이터에 성공적으로 액세스할 수 있습니다.
2.9. 마운트 지점 및 디스크 파티션 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux에서 각 파티션은 스토리지의 일부를 형성하며 단일 파일 및 디렉터리를 지원하는 데 필요합니다. 파티션을 마운트하면 마운트 지점 이라는 지정된 디렉터리에서 시작하여 해당 파티션을 스토리지를 사용할 수 있습니다.
예를 들어 파티션 가 /usr/ 에 마운트된 경우 /dev/sda5 /usr/ 아래의 모든 파일 및 디렉터리가 /dev/ sda5에 물리적으로 상주함을 의미합니다. /usr/share/doc/FAQ/txt/Linux-FAQ 파일은 /dev/sda5 에 있지만 /etc/gdm/custom.conf 파일은 그렇지 않습니다.
계속해서 예를 들어 /usr/ 아래의 하나 이상의 디렉토리가 다른 파티션의 마운트 지점이 될 수도 있습니다. 예를 들어 /usr/local/man/whatis 는 /dev/sda5 가 아닌 /dev/sda7 에 있습니다. /usr/local 에 마운트된 /dev/sda7 파티션이 포함된 경우.
3장. 파티션 시작하기 링크 복사링크가 클립보드에 복사되었습니다!
디스크 파티셔닝을 사용하여 각 파티션에서 개별적으로 작업할 수 있는 하나 이상의 논리 영역으로 디스크를 나눕니다. 하드 디스크는 파티션 테이블의 각 디스크 파티션의 위치와 크기에 대한 정보를 저장합니다. 이 테이블을 사용하면 각 파티션이 운영 체제에 대한 논리 디스크로 표시됩니다. 그런 다음 개별 디스크를 읽고 쓸 수 있습니다.
블록 장치에서 파티션을 사용할 때의 이점과 단점에 대한 개요 는 Red Hat 지식베이스 솔루션에서 직접 또는 LVM 사이에 LVM을 사용하여 LUN에서 파티션을 사용할 때의 이점과 단점 을 참조하십시오. .
3.1. parted가 있는 디스크에 파티션 테이블 만들기 링크 복사링크가 클립보드에 복사되었습니다!
parted 유틸리티를 사용하여 파티션 테이블로 블록 장치를 보다 쉽게 포맷합니다.
파티션 테이블로 블록 장치를 포맷하면 장치에 저장된 모든 데이터가 삭제됩니다.
절차
대화식
parted쉘을 시작합니다.parted block-device
# parted block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 장치에 파티션 테이블이 이미 있는지 확인합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow 장치에 이미 파티션이 포함된 경우 다음 단계에서 삭제됩니다.
새 파티션 테이블을 만듭니다.
(parted) mklabel table-type
(parted) mklabel table-typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow table-type 을 원하는 파티션 테이블 유형으로 바꿉니다.
-
MBR 용 MSDOS -
GPT
용GPT
-
예 3.1. GUID 파티션 테이블(GPT) 만들기
디스크에 GPT 테이블을 만들려면 다음을 사용합니다.
(parted) mklabel gpt
(parted) mklabel gptCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령을 입력한 후 변경 사항이 적용되기 시작합니다.
파티션 테이블을 보고 해당 테이블이 생성되었는지 확인합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow parted쉘을 종료합니다.(parted) quit
(parted) quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. parted로 파티션 테이블 보기 링크 복사링크가 클립보드에 복사되었습니다!
블록 장치의 파티션 테이블을 표시하여 파티션 레이아웃과 개별 파티션에 대한 세부 정보를 확인합니다. parted 유틸리티를 사용하여 블록 장치에서 파티션 테이블을 볼 수 있습니다.
절차
parted유틸리티를 시작합니다. 예를 들어 다음 출력에는/dev/sda가 나열됩니다.parted /dev/sda
# parted /dev/sdaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파티션 테이블 보기:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음을 검사하려는 장치로 전환합니다.
(parted) select block-device
(parted) select block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
출력 명령 출력에 대한 자세한 설명은 다음을 참조하십시오.
모델: ATA SAMSUNG MZNLN256 (scsi)- 디스크 유형, 제조업체, 모델 번호 및 인터페이스.
디스크 /dev/sda: 256GB- 블록 장치 및 스토리지 용량의 파일 경로입니다.
파티션 테이블: msdos- 디스크 레이블 유형입니다.
숫자-
파티션 번호입니다. 예를 들어, 번호가 1인 파티션은
/dev/sda1에 해당합니다. 시작및종료- 파티션을 시작하고 종료하는 장치의 위치입니다.
유형- 유효한 유형은 metadata, free, primary, 확장 또는 논리입니다.
파일 시스템-
파일 시스템 유형입니다. 장치의
파일 시스템필드에 값이 표시되지 않으면 파일 시스템 유형을 알 수 없음을 의미합니다.parted유틸리티는 암호화된 장치에서 파일 시스템을 인식할 수 없습니다. 플래그-
파티션에 설정된 플래그를 나열합니다. 사용 가능한 플래그는
boot,root,swap,hidden,raid,lvm또는lba입니다.
3.3. parted로 파티션 만들기 링크 복사링크가 클립보드에 복사되었습니다!
시스템 관리자는 parted 유틸리티를 사용하여 디스크에 새 파티션을 만들 수 있습니다.
필요한 파티션은 스왑,/boot/, 및 / (root) 입니다.
사전 요구 사항
- 디스크의 파티션 테이블입니다.
- 생성하려는 파티션이 2TiB보다 크면 GUID 파티션 테이블(GPT) 으로 디스크를 포맷합니다.
절차
parted유틸리티를 시작합니다.parted block-device
# parted block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 파티션 테이블을 보고 사용 가능한 공간이 충분한지 확인합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 사용 가능한 공간이 충분하지 않은 경우 파티션의 크기를 조정합니다.
파티션 테이블에서 다음을 결정합니다.
- 새 파티션의 시작 및 끝점입니다.
- MBR의 경우 어떤 파티션 유형이 필요합니까.
새 파티션을 만듭니다.
(parted) mkpart part-type name fs-type start end
(parted) mkpart part-type name fs-type start endCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
part-type 을
기본,논리또는 확장으로바꿉니다. MBR 파티션 테이블에만 적용됩니다. - 이름을 임의의 파티션 이름으로 바꿉니다. GPT 파티션 테이블에 필요합니다.
-
fs-type 을
xfs,ext2,ext3,ext4,fat16,fat32,hfs,hfs+,linux-swap,ntfs또는reiserfs로 바꿉니다. fs-type 매개변수는 선택 사항입니다.parted유틸리티는 파티션에 파일 시스템을 생성하지 않습니다. -
start 및 end 를 파티션의 시작 및 종료 지점을 결정하는 크기로 바꾸고 디스크 시작부터 계산합니다.
512MiB,20GiB또는1.5TiB와 같은 크기 접미사를 사용할 수 있습니다. 기본 크기는 메가바이트입니다.
예 3.2. 작은 기본 파티션 만들기
1024MiB에서 STATUS 테이블의 기본 파티션을 2048MiB까지 만들려면 다음을 사용합니다.
(parted) mkpart primary 1024MiB 2048MiB
(parted) mkpart primary 1024MiB 2048MiBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항은 명령을 입력한 후 적용을 시작합니다.
-
part-type 을
파티션 테이블을 보고 생성된 파티션이 올바른 파티션 유형, 파일 시스템 유형 및 크기의 파티션 테이블에 있는지 확인합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow parted쉘을 종료합니다.(parted) quit
(parted) quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 장치 노드를 등록합니다.
udevadm settle
# udevadm settleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 커널이 새 파티션을 인식하는지 확인합니다.
cat /proc/partitions
# cat /proc/partitionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. fdisk로 파티션 유형 설정 링크 복사링크가 클립보드에 복사되었습니다!
<.> 유틸리티를 사용하여 파티션 유형 또는 플래그를 설정할 수 있습니다.
사전 요구 사항
- 디스크의 파티션입니다.
절차
대화형
fdisk쉘을 시작합니다.fdisk block-device
# fdisk block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 파티션 테이블을 보고 마이너 파티션 번호를 확인합니다.
Command (m for help): print
Command (m for help): printCopy to Clipboard Copied! Toggle word wrap Toggle overflow Type 열에 현재 파티션 유형과 해당
유형ID가Id열에 표시됩니다.파티션 유형 명령을 입력하고 마이너 숫자를 사용하여 파티션을 선택합니다.
Command (m for help): type Partition number (1,2,3 default 3): 2
Command (m for help): type Partition number (1,2,3 default 3): 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 16진수 코드의 목록을 확인합니다.
Hex code (type L to list all codes): L
Hex code (type L to list all codes): LCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파티션 유형을 설정합니다.
Hex code (type L to list all codes): 8e
Hex code (type L to list all codes): 8eCopy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 작성하고
fdisk쉘을 종료합니다.Command (m for help): write The partition table has been altered. Syncing disks.
Command (m for help): write The partition table has been altered. Syncing disks.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 변경 사항을 확인합니다.
fdisk --list block-device
# fdisk --list block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. parted로 파티션 크기 조정 링크 복사링크가 클립보드에 복사되었습니다!
parted 유틸리티를 사용하여 사용하지 않는 디스크 공간을 사용하도록 파티션을 확장하거나 다른 용도로 용량을 사용하도록 파티션을 축소합니다.
사전 요구 사항
- 파티션을 축소하기 전에 데이터를 백업합니다.
- 생성하려는 파티션이 2TiB보다 크면 GUID 파티션 테이블(GPT) 으로 디스크를 포맷합니다.
- 파티션을 축소하려면 먼저 크기가 조정된 파티션보다 크지 않도록 파일 시스템을 축소합니다.
XFS는 축소를 지원하지 않습니다.
절차
parted유틸리티를 시작합니다.parted block-device
# parted block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 파티션 테이블을 확인합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파티션 테이블에서 다음을 결정합니다.
- 파티션의 마이너 번호입니다.
- 크기 조정 후 기존 파티션 및 해당 새 종료 지점의 위치입니다.
파티션 크기를 조정합니다.
(parted) resizepart 1 2GiB
(parted) resizepart 1 2GiBCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1 을 크기 조정 중인 파티션의 마이너 번호로 바꿉니다.
-
2 를 크기가 조정된 파티션의 새 끝 지점을 결정하는 크기로 바꾸고 디스크 처음부터 계산합니다.
512MiB,20GiB또는1.5TiB와 같은 크기 접미사를 사용할 수 있습니다. 기본 크기는 메가바이트입니다.
파티션 테이블을 보고 크기 조정 파티션이 올바른 크기의 파티션 테이블에 있는지 확인합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow parted쉘을 종료합니다.(parted) quit
(parted) quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 커널이 새 파티션을 등록하는지 확인합니다.
cat /proc/partitions
# cat /proc/partitionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 선택 사항: 파티션을 확장한 경우 파일 시스템도 확장합니다.
3.6. parted로 파티션 제거 링크 복사링크가 클립보드에 복사되었습니다!
parted 유틸리티를 사용하면 디스크 파티션을 제거하여 디스크 공간을 확보할 수 있습니다.
절차
대화식
parted쉘을 시작합니다.parted block-device
# parted block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
블록 장치를 파티션을 제거하려는 장치의 경로로 바꿉니다(예:
/dev/sda).
-
블록 장치를 파티션을 제거하려는 장치의 경로로 바꿉니다(예:
현재 파티션 테이블을 보고 삭제할 파티션의 마이너 수를 결정합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파티션을 제거합니다.
(parted) rm minor-number
(parted) rm minor-numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow - minor-number 를 제거하려는 파티션의 마이너 번호로 바꿉니다.
변경 사항은 이 명령을 입력하는 즉시 적용을 시작합니다.
파티션 테이블에서 파티션을 제거했는지 확인합니다.
(parted) print
(parted) printCopy to Clipboard Copied! Toggle word wrap Toggle overflow parted쉘을 종료합니다.(parted) quit
(parted) quitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 커널이 파티션이 제거되었는지 확인합니다.
cat /proc/partitions
# cat /proc/partitionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/fstab파일이 있는 경우 파티션을 제거합니다. 제거된 파티션을 선언하는 행을 찾아 파일에서 제거합니다. 시스템이 새
/etc/fstab구성을 등록하도록 마운트 유닛을 다시 생성합니다.systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스왑 파티션을 삭제하거나 LVM을 제거한 경우 커널 명령줄에서 파티션에 대한 모든 참조를 제거하십시오.
활성 커널 옵션을 나열하고 옵션이 제거된 파티션을 참조하는지 확인합니다.
grubby --info=ALL
# grubby --info=ALLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 삭제된 파티션을 참조하는 커널 옵션을 제거합니다.
grubby --update-kernel=ALL --remove-args="option"
# grubby --update-kernel=ALL --remove-args="option"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
초기 부팅 시스템에서 변경 사항을 등록하려면
initramfs파일 시스템을 다시 빌드합니다.dracut --force --verbose
# dracut --force --verboseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4장. 디스크 재파티션을 위한 전략 링크 복사링크가 클립보드에 복사되었습니다!
디스크를 다시 분할하는 방법은 다양합니다. 여기에는 다음이 포함됩니다.
- 파티션되지 않은 여유 공간을 사용할 수 있습니다.
- 사용되지 않은 파티션을 사용할 수 있습니다.
- 활발하게 사용되는 파티션의 여유 공간을 사용할 수 있습니다.
다음 예제는 명확성을 위해 단순화되며 Red Hat Enterprise Linux를 실제로 설치할 때 정확한 파티션 레이아웃을 반영하지 않습니다.
4.1. 파티션되지 않은 여유 공간 사용 링크 복사링크가 클립보드에 복사되었습니다!
이미 정의되어 있고 전체 하드 디스크에 걸쳐 있지 않은 파티션은 정의된 파티션에 속하지 않는 할당되지 않은 공간을 남겨 둡니다. 다음 다이어그램에서는 이것이 어떻게 보이는지 보여줍니다.
그림 4.1. 여유 공간이 파티션되지 않은 디스크
첫 번째 다이어그램은 하나의 기본 파티션과 할당되지 않은 공간이 있는 정의되지 않은 파티션이 있는 디스크를 나타냅니다. 두 번째 다이어그램은 공간이 할당된 두 개의 정의된 파티션이 있는 디스크를 나타냅니다.
사용하지 않는 하드 디스크도 이 범주에 속합니다. 유일한 차이점은 모든 공간이 정의된 파티션의 일부가 아니라는 것입니다.
새 디스크에서 사용되지 않는 공간을 통해 필요한 파티션을 만들 수 있습니다. 대부분의 사전 설치된 운영 체제는 디스크 드라이브에서 사용 가능한 모든 공간을 차지하도록 구성됩니다.
4.2. 사용되지 않은 파티션의 공간 사용 링크 복사링크가 클립보드에 복사되었습니다!
다음 예에서 첫 번째 다이어그램은 사용되지 않은 파티션이 있는 디스크를 나타냅니다. 두 번째 다이어그램은 Linux에서 사용되지 않은 파티션을 찾는 것을 나타냅니다.
그림 4.2. 사용되지 않는 파티션이 있는 디스크
사용되지 않은 파티션에 할당된 공간을 사용하려면 파티션을 삭제한 다음 적절한 Linux 파티션을 만듭니다. 또는 설치 프로세스 중에 사용되지 않은 파티션을 삭제하고 새 파티션을 수동으로 만듭니다.
4.3. 활성 파티션의 여유 공간 사용 링크 복사링크가 클립보드에 복사되었습니다!
이 프로세스에는 이미 사용 중인 활성 파티션에 필요한 여유 공간이 포함되어 있으므로 이 프로세스를 관리하기 어려울 수 있습니다. 대부분의 경우 소프트웨어가 사전 설치된 컴퓨터 하드 디스크에는 운영 체제 및 데이터를 보유한 더 큰 파티션이 포함되어 있습니다.
활성 파티션에서 운영 체제(OS)를 사용하려면 OS를 다시 설치해야 합니다. 사전 설치된 소프트웨어를 포함하는 일부 컴퓨터는 원래 OS를 재설치하기 위한 설치 미디어를 포함하지 않습니다. 원래 파티션과 OS 설치를 제거하기 전에 이것이 OS에 적용되는지 확인하십시오.
사용 가능한 여유 공간 사용을 최적화하기 위해, 안전하지 않거나 파괴되지 않은 재파운딩 방법을 사용할 수 있습니다.
4.3.1. destructive repartitioning 링크 복사링크가 클립보드에 복사되었습니다!
안전하지 않은 재파티션은 하드 드라이브에서 파티션을 제거하고 대신 작은 여러 파티션을 만듭니다. 이 방법을 사용하면 전체 내용이 삭제되므로 원래 파티션에서 필요한 모든 데이터를 백업하십시오.
기존 운영 체제에 대해 더 작은 파티션을 생성한 후 다음을 수행할 수 있습니다.
- 소프트웨어 재설치.
- 데이터를 복원합니다.
- Red Hat Enterprise Linux 설치를 시작하십시오.
다음 다이어그램은 안전하지 않은 repartitioning 방법 사용에 대한 단순화된 표현입니다.
그림 4.3. 디스크에서 안전하지 않은 재파티셔닝 작업
이 방법은 원래 파티션에 이전에 저장된 모든 데이터를 삭제합니다.
4.3.2. 안전하지 않은 재파티셔닝 링크 복사링크가 클립보드에 복사되었습니다!
데이터 손실 없이 파티션 재파티브 크기 조정이 지연되지 않습니다. 이 방법은 신뢰할 수 있지만 큰 드라이브에서 처리 시간이 오래 걸립니다.
다음은 거부된 복원을 시작하는 데 도움이 될 수 있는 메서드 목록입니다.
- 기존 데이터 압축
일부 데이터의 저장 위치는 변경할 수 없습니다. 이렇게 하면 파티션이 필요한 크기로 크기를 조정하는 것을 방지할 수 있으며 궁극적으로 안전하지 않은 재파티션 프로세스가 발생할 수 있습니다. 이미 존재하는 파티션의 데이터를 압축하면 필요에 따라 파티션의 크기를 조정하는 데 도움이 될 수 있습니다. 또한 사용 가능한 공간을 최대화하는 데 도움이 될 수 있습니다.
다음 다이어그램은 이 프로세스를 간단하게 나타냅니다.
그림 4.4. 디스크의 데이터 압축
가능한 데이터 손실을 방지하려면 압축 프로세스를 계속하기 전에 백업을 만듭니다.
- 기존 파티션의 크기 조정
기존 파티션의 크기를 조정하면 더 많은 공간을 확보할 수 있습니다. 소프트웨어 크기 조정에 따라 결과가 다를 수 있습니다. 대부분의 경우 원래 파티션과 동일한 유형의 포맷되지 않은 새 파티션을 만들 수 있습니다.
크기 조정 후 수행하는 단계는 사용하는 소프트웨어에 따라 달라질 수 있습니다. 다음 예제에서 가장 좋은 방법은 새 ClusterTask (Disk Operating System) 파티션을 삭제하고 대신 Linux 파티션을 만드는 것입니다. 크기 조정 프로세스를 시작하기 전에 디스크에 가장 적합한 항목을 확인합니다.
그림 4.5. 디스크의 파티션 크기 조정
- 선택 사항: 새 파티션 생성
소프트웨어 크기 조정 중 일부는 Linux 기반 시스템을 지원합니다. 이러한 경우 크기 조정 후 새로 생성된 파티션을 삭제할 필요가 없습니다. 나중에 새 파티션을 만드는 것은 사용하는 소프트웨어에 따라 다릅니다.
다음 다이어그램은 새 파티션을 만들기 전과 후에 디스크 상태를 나타냅니다.
그림 4.6. 최종 파티션 설정으로 디스크
5장. 영구 이름 지정 속성 개요 링크 복사링크가 클립보드에 복사되었습니다!
시스템 관리자는 영구 명명 속성을 사용하여 여러 시스템 부팅을 통해 신뢰할 수 있는 스토리지 설정을 빌드하는 스토리지 볼륨을 참조해야 합니다.
5.1. 비영구적 명명 속성의 단점 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux는 스토리지 장치를 식별하는 다양한 방법을 제공합니다. 특히 드라이브에 설치하거나 다시 포맷할 때 잘못된 장치에 실수로 액세스하지 않으려면 올바른 옵션을 사용하여 각 장치를 식별하는 것이 중요합니다.
전통적으로 /dev/sd(주 번호)형식의 비영구적 이름은 Linux에서 스토리지 장치를 참조하기 위해사용됩니다. 주요 번호 범위 및 부 번호 범위 및 관련 sd 이름은 감지되면 각 장치에 할당됩니다. 즉, 장치 탐지 순서가 변경되면 주요 번호 범위와 연결된 sd 이름 간의 연결이 변경될 수 있습니다.
이러한 순서 변경은 다음과 같은 상황에서 발생할 수 있습니다.
- 시스템 부팅 프로세스의 병렬화는 각 시스템 부팅 시 다른 순서로 스토리지 장치를 감지합니다.
-
디스크의 전원을 켜거나 SCSI 컨트롤러에 응답하지 못합니다. 그러면 일반 장치 프로브에서 검색되지 않습니다. 디스크는 시스템에서 액세스할 수 없으며 그 이후의 장치에는 연결된
sd이름이 아래로 이동한 등 주요 번호 및 부 번호가 있습니다. 예를 들어 일반적으로sdb라고 하는 디스크를 탐지하지 않으면 일반적으로 assdc라고 하는 디스크가sdb로 표시됩니다. -
SCSI 컨트롤러(호스트 버스 어댑터 또는 HBA)를 초기화하지 못하면 해당 HBA에 연결된 모든 디스크를 탐지하지 않습니다. 나중에 조사하는 HBA에 연결된 모든 디스크에는 서로 다른 주요 및 부 번호 범위가 할당되며 다양한 관련
sd이름이 할당됩니다. - 시스템에 다른 유형의 HBA가 있으면 드라이버 초기화 순서가 변경됩니다. 이로 인해 해당 HBA에 연결된 디스크가 다른 순서로 탐지됩니다. HBA가 시스템의 다른 PCI 슬롯으로 이동되는 경우에도 발생할 수 있습니다.
-
Fibre 채널, iSCSI 또는 FCoE 어댑터를 사용하여 시스템에 연결된 디스크는 스토리지 장치를 프로브할 때 액세스할 수 없을 수 있습니다(예: 스토리지 어레이 또는 교차 스위치의 전원이 꺼짐). 이 문제는 정전 후 시스템을 재부팅할 때 시스템을 부팅하는 것보다 스토리지 어레이가 온라인 상태가 되는 데 시간이 오래 걸리는 경우 발생할 수 있습니다. 일부 파이버 채널 드라이버는 WWPN 매핑에 영구 SCSI 대상 ID를 지정하는 메커니즘을 지원하지만 이는 주요 번호 범위와 연결된
sd이름을 예약하지 않습니다. 일관된 SCSI 대상 ID 번호만 제공합니다.
이러한 이유로 /etc/fstab 파일에서와 같이 장치를 참조할 때 주 번호 범위 또는 관련 sd 이름을 사용하는 것이 바람직하지 않게 합니다. 잘못된 장치가 마운트되고 데이터 손상이 발생할 수 있습니다.
그러나 경우에 따라 장치가 오류를 보고하는 경우와 같이 다른 메커니즘을 사용하는 경우에도 sd 이름을 참조해야 합니다. 이는 Linux 커널이 장치와 관련된 커널 메시지에서 sd 이름(및 SCSI host/channel/target/LUNples)을 사용하기 때문입니다.
5.2. 파일 시스템 및 장치 식별자 링크 복사링크가 클립보드에 복사되었습니다!
파일 시스템 식별자는 파일 시스템 자체에 연결되지만 장치 식별자는 물리적 블록 장치에 연결됩니다. 적절한 스토리지 관리를 위해서는 차이점을 이해하는 것이 중요합니다.
파일 시스템 식별자
파일 시스템 식별자는 블록 장치에 생성된 특정 파일 시스템과 연결됩니다. 식별자는 파일 시스템의 일부로도 저장됩니다. 파일 시스템을 다른 장치로 복사해도 여전히 동일한 파일 시스템 식별자를 전달합니다. 그러나 mkfs 유틸리티로 포맷하여 장치를 다시 작성하는 경우 장치는 특성을 손실됩니다.
파일 시스템 식별자는 다음과 같습니다.
- 고유 식별자 (UUID)
- 레이블
장치 식별자
장치 식별자는 블록 장치(예: 디스크 또는 파티션)에 연결됩니다. mkfs 유틸리티로 포맷하는 등의 장치를 다시 작성하는 경우 장치는 파일 시스템에 저장되지 않기 때문에 속성을 유지합니다.
장치 식별자는 다음과 같습니다.
- WWID(WWID)
- 파티션 UUID
- 일련 번호
권장 사항
- 논리 볼륨과 같은 일부 파일 시스템은 여러 장치에 걸쳐 있습니다. Red Hat은 장치 식별자가 아닌 파일 시스템 식별자를 사용하여 이러한 파일 시스템에 액세스하는 것을 권장합니다.
5.3. /dev/disk/의 udev 메커니즘에서 관리하는 장치 이름 링크 복사링크가 클립보드에 복사되었습니다!
udev 메커니즘은 Linux의 모든 유형의 장치에 사용되며 스토리지 장치에만 국한되지 않습니다. /dev/disk/ 디렉터리에 다양한 종류의 영구 이름 지정 속성을 제공합니다. 스토리지 장치의 경우 Red Hat Enterprise Linux에는 /dev/disk/ 디렉터리에 심볼릭 링크를 생성하는 udev 규칙이 포함되어 있습니다. 이를 통해 다음을 통해 스토리지 장치를 참조할 수 있습니다.
- 해당 콘텐츠
- 고유 식별자
- 일련 번호.
udev 명명 속성은 영구적이지만 시스템 재부팅 시 자체적으로 변경되지 않지만 일부 속성도 구성할 수 있습니다.
5.3.1. 파일 시스템 식별자 링크 복사링크가 클립보드에 복사되었습니다!
/dev/disk/by-uuid/의 UUID 속성
이 디렉터리의 항목은 장치에 저장된 콘텐츠(즉, 데이터)의 고유 식별자 (UUID)로 스토리지 장치를 참조하는 심볼릭 이름을 제공합니다. 예를 들면 다음과 같습니다.
/dev/disk/by-uuid/3e6be9de-8139-11d1-9106-a43f08d823a6
/dev/disk/by-uuid/3e6be9de-8139-11d1-9106-a43f08d823a6
UUID를 사용하여 다음 구문으로 /etc/fstab 파일의 장치를 참조할 수 있습니다.
UUID=3e6be9de-8139-11d1-9106-a43f08d823a6
UUID=3e6be9de-8139-11d1-9106-a43f08d823a6
파일 시스템을 만들 때 UUID 속성을 구성할 수 있으며 나중에 변경할 수도 있습니다.
/dev/disk/by-label/의 Label 속성
이 디렉터리의 항목은 장치에 저장된 콘텐츠(즉, 데이터)의 레이블 별로 스토리지 장치를 참조하는 심볼릭 이름을 제공합니다.
예를 들면 다음과 같습니다.
/dev/disk/by-label/Boot
/dev/disk/by-label/Boot
라벨을 사용하여 다음 구문으로 /etc/fstab 파일의 장치를 참조할 수 있습니다.
LABEL=Boot
LABEL=Boot
파일 시스템을 생성할 때 Label 속성을 구성할 수 있으며 나중에 변경할 수도 있습니다.
5.3.2. 장치 식별자 링크 복사링크가 클립보드에 복사되었습니다!
/dev/disk/by-id/의 WWID 속성
WWID(World Wide Identifier)는 SCSI 표준에서 모든 SCSI 장치에서 요구하는 영구적인 시스템 독립 식별자 입니다. WWID 식별자는 모든 스토리지 장치에 대해 고유하며 장치에 액세스하는 데 사용되는 경로와 독립적입니다. 식별자는 장치의 속성이지만 장치의 콘텐츠(즉, 데이터)에 저장되지 않습니다.
이 식별자는 장치 식별 Vital Product Data(0 x83 페이지) 또는 유닛 일련 번호 페이지)를 검색하기 위해 SCSI Inquiry를 발행하여 가져올 수 있습니다.
(0x80
Red Hat Enterprise Linux는 WWID 기반 장치 이름에서 해당 시스템의 현재 /dev/sd 이름으로의 적절한 매핑을 자동으로 유지합니다. 애플리케이션은 /dev/disk/by-id/ 이름을 사용하여 장치 경로가 변경되더라도, 여러 시스템에서 장치에 액세스하는 경우에도 디스크의 데이터를 참조할 수 있습니다.
예 5.1. WWID 매핑
| WWID symlink | 비영구적 장치 | 참고 |
|---|---|---|
|
|
|
페이지가 |
|
|
|
페이지가 |
|
|
| 디스크 파티션 |
시스템에서 제공하는 이러한 영구 이름 외에도 udev 규칙을 사용하여 스토리지의 WWID에 매핑되는 고유한 영구 이름을 구현할 수도 있습니다.
/dev/disk/by-partuuid의 파티션 UUID 속성
PARTUUID(파티션 UUID) 특성은 GPT 파티션 테이블에 정의된 파티션을 식별합니다.
예 5.2. 파티션 UUID 매핑
| PARTUUID symlink | 비영구적 장치 |
|---|---|
|
|
|
|
|
|
|
|
|
/dev/disk/by-path/의 Path 속성
이 특성은 장치에 액세스하는 데 사용되는 하드웨어 경로에서 스토리지 장치를 참조하는 심볼릭 이름을 제공합니다.
Path 속성은 하드웨어 경로의 일부(예: PCI ID, 대상 포트 또는 LUN 번호)가 변경되면 실패합니다. 따라서 Path 속성은 신뢰할 수 없습니다. 그러나 Path 속성은 다음 시나리오 중 하나에서 유용할 수 있습니다.
- 나중에 교체할 디스크를 식별해야 합니다.
- 특정 위치에 있는 디스크에 스토리지 서비스를 설치할 계획입니다.
5.4. DM Multipath를 사용한 전 세계 식별자 링크 복사링크가 클립보드에 복사되었습니다!
WWID(WWID)와 비영구 장치 이름 간에 매핑되도록 DM(Device Mapper) Multipath를 구성할 수 있습니다.
시스템에서 장치로 이동하는 경로가 여러 개인 경우 DM Multipath는 WWID를 사용하여 이를 탐지합니다. 그런 다음 DM Multipath는 /dev/mapper/wwid 디렉터리에 /dev/mapper/3600508b400105df70000e00000ac0000 에 하나의 "pseudo-device"를 표시합니다.
multipath -l 명령은 비영구 식별자에 대한 매핑을 표시합니다.
-
Host:Channel:Target:LUN -
/dev/sd이름 -
major:마이너번호
예 5.3. 다중 경로 구성의 WWID 매핑
multipath -l 명령의 출력 예:
DM Multipath는 각 WWID 기반 장치 이름의 적절한 매핑을 시스템의 해당 /dev/sd 이름에 자동으로 유지합니다. 이러한 이름은 경로 변경 시 영구적이며 서로 다른 시스템에서 장치에 액세스할 때 일관적입니다.
DM Multipath의 user_friendly_names 기능을 사용하면 WWID가 /dev/mapper/mpathN 형식의 이름에 매핑됩니다. 기본적으로 이 매핑은 /etc/multipath/bindings 파일에서 유지됩니다. 이러한 mpathN 이름은 해당 파일이 유지되는 동안 유지됩니다.
user_friendly_names 를 사용하는 경우 클러스터에서 일관된 이름을 얻으려면 추가 단계가 필요합니다.
5.5. udev 장치 명명 규칙의 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
다음은 udev 명명 규칙의 몇 가지 제한 사항입니다.
-
udev 메커니즘이 udev이벤트에대해 udev규칙이 처리될 때 스토리지 장치를 쿼리하는 기능을 사용할 수 있으므로 쿼리를 수행할 때 장치에 액세스할 수 없습니다. 서버가 서버 섀시에 있지 않은 경우 파이버 채널, iSCSI 또는 FCoE 스토리지 장치에서 이 문제가 발생할 가능성이 높습니다. -
커널은 언제든지
udev이벤트를 보낼 수 있으므로 규칙이 처리되고 장치에 액세스할 수 없는 경우/dev/disk/by-*/링크가 제거될 수 있습니다. -
udev 이벤트가 생성되고 많은 장치가 감지되고 사용자 공간 udevd 서비스에서 각 이벤트를 처리하는 데 약간의 시간이 걸리는 경우와 같이 udev이벤트가 생성될 때 사이에 지연이 발생할 수 있습니다. 이로 인해 커널이 장치를 감지하는 경우와/dev/disk/by-*/이름을 사용할 수 있는 시기 사이에 지연이 발생할 수 있습니다. -
규칙에서 호출한
blkid와 같은 외부 프로그램은 잠시 동안 장치를 열 수 있으므로 다른 용도로는 장치에 액세스할 수 없습니다. -
/dev/disk/의
udev메커니즘에서 관리하는 장치 이름은 주요 릴리스 간에 변경될 수 있으므로 링크를 업데이트해야 합니다.
5.6. 영구 이름 지정 속성 나열 링크 복사링크가 클립보드에 복사되었습니다!
비영구 스토리지 장치의 영구 이름 지정 속성을 확인할 수 있습니다.
절차
UUID 및 레이블 속성을 나열하려면
lsblk유틸리티를 사용합니다.lsblk --fs storage-device
$ lsblk --fs storage-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
예 5.4. 파일 시스템의 UUID 및 레이블 보기
lsblk --fs /dev/sda1
$ lsblk --fs /dev/sda1 NAME FSTYPE LABEL UUID MOUNTPOINT sda1 xfs Boot afa5d5e3-9050-48c3-acc1-bb30095f3dc4 /bootCopy to Clipboard Copied! Toggle word wrap Toggle overflow PARTUUID 특성을 나열하려면
--output +PARTUUID옵션과 함께lsblk유틸리티를 사용합니다.lsblk --output +PARTUUID
$ lsblk --output +PARTUUIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
예 5.5. 파티션의 PARTUUID 속성 보기
lsblk --output +PARTUUID /dev/sda1
$ lsblk --output +PARTUUID /dev/sda1 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT PARTUUID sda1 8:1 0 512M 0 part /boot 4cd1448a-01Copy to Clipboard Copied! Toggle word wrap Toggle overflow WWID 특성을 나열하려면
/dev/disk/by-id/디렉터리에 있는 심볼릭 링크의 대상을 검사합니다. 예를 들면 다음과 같습니다.예 5.6. 시스템의 모든 스토리지 장치의 WWID 보기
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.7. 영구 이름 지정 속성 수정 링크 복사링크가 클립보드에 복사되었습니다!
파일 시스템의 UUID 또는 레이블 영구 이름 지정 속성을 변경할 수 있습니다.
udev 속성 변경은 백그라운드에서 수행되며 시간이 오래 걸릴 수 있습니다. udevadm settle 명령은 변경 사항이 완전히 등록될 때까지 대기하여 다음 명령이 새 속성을 올바르게 사용할 수 있도록 합니다.
다음 명령에서 다음을 수행합니다.
-
new-uuid 를 설정할 UUID로 바꿉니다(예:
1cdfbc07-1c90-4984-b5ec-f61943f5ea50).uuidgen명령을 사용하여 UUID를 생성할 수 있습니다. -
new-label 을 레이블로 바꿉니다(예:
backup_data).
사전 요구 사항
- XFS 파일 시스템의 속성을 수정하는 경우 먼저 마운트 해제합니다.
절차
XFS 파일 시스템의 UUID 또는 레이블 속성을 변경하려면
xfs_admin유틸리티를 사용합니다.xfs_admin -U new-uuid -L new-label storage-device udevadm settle
# xfs_admin -U new-uuid -L new-label storage-device # udevadm settleCopy to Clipboard Copied! Toggle word wrap Toggle overflow ext4, ext3 또는 ext 2 파일 시스템의 UUID 또는 레이블 속성을 변경하려면
tune2fs유틸리티를 사용합니다.tune2fs -U new-uuid -L new-label storage-device udevadm settle
# tune2fs -U new-uuid -L new-label storage-device # udevadm settleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스왑 볼륨의 UUID 또는 레이블 속성을 변경하려면
swaplabel유틸리티를 사용합니다.swaplabel --uuid new-uuid --label new-label swap-device udevadm settle
# swaplabel --uuid new-uuid --label new-label swap-device # udevadm settleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6장. NVDIMM 영구 메모리 스토리지 사용 링크 복사링크가 클립보드에 복사되었습니다!
시스템에 연결된 NVDIMM(Non-Volatile Dual In-line Memory Modules) 장치에서 다양한 유형의 스토리지를 활성화하고 관리할 수 있습니다.
NVDIMM 스토리지에 Red Hat Enterprise Linux 8 을 설치하려면 대신 NVDIMM 장치에 설치를 참조하십시오.
6.1. NVDIMM 영구 메모리 기술 링크 복사링크가 클립보드에 복사되었습니다!
비Volatile Dual In-line Memory Modules (NVDIMM) 영구 메모리 (Storage class memory 또는 pmem )는 메모리와 스토리지의 조합입니다.
NVDIMM은 스토리지의 액세스 대기 시간과 낮은 액세스 대기 시간과 동적 RAM(DRAM)의 높은 대역폭을 결합합니다. NVDIMM을 사용할 때의 다른 이점은 다음과 같습니다.
- NVDIMM 스토리지는 바이트 주소 지정 가능이므로 CPU 로드를 사용하여 액세스할 수 있고 명령을 저장하여 액세스할 수 있습니다. 기존 블록 기반 스토리지에 액세스하는 데 필요한 read() 및 write() 시스템 호출 외에도 NVDIMM은 직접 로드 및 저장소 프로그래밍 모델을 지원합니다.
- NVDIMM의 성능 특성은 액세스 대기 시간이 매우 짧은 DRAM과 비슷하며, 일반적으로 수십 나노초입니다.
- NVDIMM에 저장된 데이터는 영구 메모리와 유사하게 전원이 꺼지면 보존됩니다.
- 직접 액세스(DAX) 기술을 사용하면 시스템 페이지 캐시를 통과하지 않고도 메모리 맵 스토리지에 직접 애플리케이션을 사용할 수 있습니다. 따라서 DRAM은 다른 용도로 사용할 수 있습니다.
NVDIMM은 다음과 같은 사용 사례에 유용합니다.
- 데이터베이스
- NVDIMM에서 스토리지 액세스 대기 시간이 감소하면 데이터베이스 성능이 향상됩니다.
- 신속한 재시작
신속한 재시작을 웜 캐시 효과라고도 합니다. 예를 들어, 파일 서버에는 시작 후 메모리에 파일 내용이 없습니다. 클라이언트가 데이터를 연결하고 읽거나 쓸 때 해당 데이터가 페이지 캐시에 캐시됩니다. 결국 캐시에는 대부분 핫 데이터가 포함되어 있습니다. 재부팅 후 시스템은 기존 스토리지에서 프로세스를 다시 시작해야 합니다.
NVDIMM을 사용하면 애플리케이션이 올바르게 설계된 경우 애플리케이션이 재부팅 후에도 웜 캐시를 유지할 수 있습니다. 이 예에서는 페이지 캐시가 관련이 없습니다. 애플리케이션에서 영구 메모리에 데이터를 직접 캐시합니다.
- Fast write-cache
- 파일 서버는 데이터가 날카롭게 될 때까지 클라이언트 쓰기 요청을 승인하지 않는 경우가 많습니다. NVDIMM을 빠른 쓰기 캐시로 사용하면 파일 서버에서 쓰기 요청을 신속하게 확인할 수 있으며 대기 시간이 짧습니다.
6.2. NVDIMM 인터리빙 및 지역 링크 복사링크가 클립보드에 복사되었습니다!
비Volatile Dual In-line Memory Modules (NVDIMM) 장치는 인터리브된 리전으로 그룹화를 지원합니다.
NVDIMM 장치는 일반 동적 RAM(DRAM)과 동일한 방식으로 인터리브 세트로 그룹화할 수 있습니다. 인터리브 세트는 여러 DIMM의 RAID 0 수준(스트라이프) 구성과 유사합니다. Interleave 세트는 지역이라고도 합니다.
Interleaving에는 다음과 같은 이점이 있습니다.
- NVDIMM 장치는 인터리브 세트로 구성된 경우 성능이 향상됩니다.
- 인터리빙은 여러 개의 작은 NVDIMM 장치를 더 큰 논리 장치로 결합할 수 있습니다.
NVDIMM 인터리브 세트는 시스템 BIOS 또는 UEFI 펌웨어에 구성됩니다. Red Hat Enterprise Linux는 각 인터리브 세트에 대해 하나의 지역 장치를 만듭니다.
6.3. NVDIMM 네임스페이스 링크 복사링크가 클립보드에 복사되었습니다!
비Volatile Dual In-line Memory Modules (NVDIMM) 영역은 라벨 영역 크기에 따라 하나 이상의 네임스페이스로 나눌 수 있습니다. 네임스페이스를 사용하면 섹터,fsdax,devdax 및 raw 와 같은 네임스페이스의 액세스 모드에 따라 다양한 방법을 사용하여 장치에 액세스할 수 있습니다. 자세한 내용은 NVDIMM 액세스 모드 입니다.
일부 NVDIMM 장치는 리전에서 여러 네임스페이스를 지원하지 않습니다.
- ✓NVDIMM 장치에서 레이블을 지원하는 경우 리전을 네임스페이스로 세분화할 수 있습니다.
- NVDIMM 장치에서 레이블을 지원하지 않으면 리전에 단일 네임스페이스만 포함될 수 있습니다. 이 경우 Red Hat Enterprise Linux는 전체 지역에 적용되는 기본 네임스페이스를 생성합니다.
6.4. NVDIMM 액세스 모드 링크 복사링크가 클립보드에 복사되었습니다!
다음 모드 중 하나를 사용하도록 NVDIMM(Non-Volatile Dual In-line Memory Modules) 네임스페이스를 구성할 수 있습니다.
부문빠른 블록 장치로 스토리지를 제공합니다. 이 모드는 NVDIMM 스토리지를 사용하도록 수정되지 않은 레거시 애플리케이션 또는 장치 매퍼를 포함하여 전체 I/O 스택을 사용하는 애플리케이션에 유용합니다.
섹터장치는 시스템의 다른 블록 장치와 동일한 방식으로 사용할 수 있습니다. 파티션 또는 파일 시스템을 생성하거나 소프트웨어 RAID 세트의 일부로 구성하거나,dm-cache의 캐시 장치로 사용할 수 있습니다.이 모드의 장치는
/dev/pmemNs로 사용할 수 있습니다. 네임스페이스를 생성한 후 나열된blockdev값을 참조하십시오.devdax또는 장치 직접 액세스 (DAX)NVDIMM 장치는
devdax를 사용하여 SNIA(Storage Networking IndustryECDHE) NVM(Non-Volatile Memory) programming 모델 사양에 설명된 대로 직접 액세스 프로그래밍을 지원합니다. 이 모드에서 I/O는 커널의 스토리지 스택을 무시합니다. 따라서 장치 매퍼 드라이버를 사용할 수 없습니다.장치 DAX는 DAX 문자 장치 노드를 사용하여 NVDIMM 스토리지에 대한 원시 액세스를 제공합니다.
devdax 장치의 데이터는CPU 캐시 플러시 및 펜싱 지침을 사용하여 영구적으로 만들 수 있습니다. 특정 데이터베이스 및 가상 시스템 하이퍼바이저는 이 모드에서 유용할 수 있습니다.devdax장치에서 파일 시스템을 만들 수 없습니다.이 모드의 장치는
/dev/daxN.M으로 사용할 수 있습니다. 네임스페이스를 생성한 후 나열된ECDHEdev값을 참조하십시오.fsdax또는 파일 시스템 직접 액세스 (DAX)NVDIMM 장치는
fsdax를 사용하여 SNIA(Storage Networking IndustryECDHE) NVM(Non-Volatile Memory) programming 모델 사양에 설명된 대로 직접 액세스 프로그래밍을 지원합니다. 이 모드에서 I/O는 커널의 스토리지 스택을 무시하고 많은 Device Mapper 드라이버를 사용할 수 없습니다.파일 시스템 DAX 장치에 파일 시스템을 생성할 수 있습니다.
이 모드의 장치는
/dev/pmemN으로 사용할 수 있습니다. 네임스페이스를 생성한 후 나열된blockdev값을 참조하십시오.중요파일 시스템 DAX 기술은 기술 프리뷰로만 제공되며 Red Hat에서 지원되지 않습니다.
rawDAX를 지원하지 않는 메모리 디스크를 제공합니다. 이 모드에서는 네임스페이스에 몇 가지 제한 사항이 있으므로 사용해서는 안 됩니다.
이 모드의 장치는
/dev/pmemN으로 사용할 수 있습니다. 네임스페이스를 생성한 후 나열된blockdev값을 참조하십시오.
6.5. ndctl 설치 링크 복사링크가 클립보드에 복사되었습니다!
ndctl 유틸리티를 설치하여 NVMe(Non-Volatile Dual In-line Memory Modules) 장치를 구성하고 모니터링할 수 있습니다.
절차
ndctl유틸리티를 설치합니다.yum install ndctl
# yum install ndctlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6. 블록 장치 역할을 할 NVDIMM에 섹터 네임 스페이스 생성 링크 복사링크가 클립보드에 복사되었습니다!
기존 블록 기반 스토리지를 지원하기 위해 레거시 모드라고도 하는 섹터 모드에서 NVMe(Non-Volatile Dual In-line Memory Modules) 장치를 구성할 수 있습니다.
다음 중 하나를 수행할 수 있습니다.
- 기존 네임스페이스를 섹터 모드로 재구성하거나
- 사용 가능한 공간이 있는 경우 새 섹터 네임스페이스를 생성합니다.
사전 요구 사항
- NVDIMM 장치가 시스템에 연결되어 있습니다.
6.6.1. 기존 NVDIMM 네임스페이스를 섹터 모드로 재구성 링크 복사링크가 클립보드에 복사되었습니다!
빠른 블록 장치로 사용하기 위해 NVMe(Non-Volatile Dual In-line Memory Modules) 네임스페이스를 섹터 모드로 재구성할 수 있습니다.
네임스페이스를 다시 구성하면 네임스페이스에 이전에 저장된 데이터가 삭제됩니다.
사전 요구 사항
-
The
ndctl유틸리티가 설치되어 있습니다. 자세한 내용은 Installing ndctl 을 참조하십시오.
절차
기존 네임스페이스를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택한 네임스페이스를 섹터 모드로 재구성합니다.
ndctl create-namespace --force --reconfig=namespace-ID --mode=sector
# ndctl create-namespace --force --reconfig=namespace-ID --mode=sectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 6.1. 섹터 모드에서 namespace1.0 재구성
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 재구성된 네임스페이스는 이제
/dev디렉토리에서/dev/pmem1s파일로 사용할 수 있습니다.
검증
시스템의 기존 네임스페이스가 재구성되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.6.2. 섹터 모드에서 새 NVDIMM 네임스페이스 생성 링크 복사링크가 클립보드에 복사되었습니다!
이 리전에 사용 가능한 공간이 있는 경우 빠른 블록 장치로 사용하기 위해 섹터 모드에서 NVMe(Non-Volatile Dual In-line Memory Modules) 네임스페이스를 생성할 수 있습니다.
사전 요구 사항
-
The
ndctl유틸리티가 설치되어 있습니다. 자세한 내용은 Installing ndctl 을 참조하십시오. NVDIMM 장치는 라벨을 지원하여 하나의 리전에 여러 네임스페이스를 생성합니다. 다음 명령을 사용하여 확인할 수 있습니다.
ndctl read-labels nmem0 >/dev/null
# ndctl read-labels nmem0 >/dev/null read 1 nmemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이는 하나의 NVDIMM 장치의 라벨을 읽을 수 있음을 나타냅니다. 값이
0인 경우 장치에서 레이블을 지원하지 않음을 나타냅니다.
절차
사용 가능한 공간이 있는 시스템의
pmem지역을 나열합니다. 다음 예제에서는 region1 및 region0 리전에서 공간을 사용할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 리전 중 하나에 하나 이상의 네임스페이스를 할당합니다.
ndctl create-namespace --mode=sector --region=regionN --size=namespace-size
# ndctl create-namespace --mode=sector --region=regionN --size=namespace-sizeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 6.2. region0에 36GiB 섹터 네임스페이스 생성
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 네임스페이스를
/dev/pmem0.1s로 사용할 수 있습니다.
검증
새 네임스페이스가 섹터 모드에서 생성되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.7. NVDIMM에 장치 DAX 네임스페이스 생성 링크 복사링크가 클립보드에 복사되었습니다!
직접 액세스 기능을 사용하여 문자 스토리지를 지원하도록 시스템에 연결된 NVDIMM 장치를 장치 DAX 모드에서 구성합니다.
다음 옵션을 고려하십시오.
- 장치 DAX 모드로 기존 네임스페이스를 재구성합니다.
- 사용 가능한 공간이 있는 경우 새 장치 DAX 네임스페이스를 만듭니다.Create a new device DAX namespace, if there is space available.
6.7.1. 장치 직접 액세스 모드의 NVDIMM 링크 복사링크가 클립보드에 복사되었습니다!
장치 직접 액세스(device DAX, devdax)는 애플리케이션이 파일 시스템을 사용하지 않고 스토리지에 직접 액세스할 수 있는 수단을 제공합니다. 장치 DAX의 이점은 ndctl 유틸리티의 --align 옵션을 사용하여 구성할 수 있는 보장된 내결함성을 제공하는 것입니다.
Intel 64 및 AMD64 아키텍처의 경우 다음과 같은 오류 세분화가 지원됩니다.
- 4 KiB
- 2 MiB
- 1GiB
장치 DAX 노드는 다음 시스템 호출만 지원합니다.
-
open() -
close() -
mmap()
ndctl list --human --capabilities 명령을 사용하여 NVDIMM 장치의 지원되는 정렬을 볼 수 있습니다. 예를 들어 region0 장치에 대해 보려면 ndctl list --human --capabilities -r region0 명령을 사용합니다.
장치 DAX 사용 사례가 SNIA 비Volatile 메모리 프로그래밍 모델에 연결되어 있기 때문에 read() 및 write() 시스템 호출이 지원되지 않습니다.
6.7.2. 기존 NVDIMM 네임스페이스를 장치 DAX 모드로 재구성 링크 복사링크가 클립보드에 복사되었습니다!
기존 NVMe(Non-Volatile Dual In-line Memory Modules) 네임스페이스를 장치 DAX 모드로 재구성할 수 있습니다.
네임스페이스를 다시 구성하면 네임스페이스에 이전에 저장된 데이터가 삭제됩니다.
사전 요구 사항
-
The
ndctl유틸리티가 설치되어 있습니다. 자세한 내용은 Installing ndctl 을 참조하십시오.
절차
시스템의 모든 네임스페이스를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스를 재구성합니다.
ndctl create-namespace --force --mode=devdax --reconfig=namespace-ID
# ndctl create-namespace --force --mode=devdax --reconfig=namespace-IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 6.3. 네임스페이스를 장치 DAX로 재구성
다음 명령은 DAX를 지원하는 데이터 저장을 위해
namespace0.1을 재구성합니다. 운영 체제가 한 번에 2MiB 페이지에 오류가 있는지 확인하기 위해 2MiB 오류 세분에 맞게 조정됩니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제
/dev/dax0.1경로에서 네임스페이스를 사용할 수 있습니다.
검증
시스템의 기존 네임스페이스가 재구성되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.7.3. 장치 DAX 모드에서 새 NVDIMM 네임스페이스 생성 링크 복사링크가 클립보드에 복사되었습니다!
지역에 사용 가능한 공간이 있는 경우 NVMe(Non-Volatile Dual In-line Memory Modules) 장치에서 새 장치 DAX 네임스페이스를 만들 수 있습니다.
사전 요구 사항
-
The
ndctl유틸리티가 설치되어 있습니다. 자세한 내용은 Installing ndctl 을 참조하십시오. NVDIMM 장치는 라벨을 지원하여 하나의 리전에 여러 네임스페이스를 생성합니다. 다음 명령을 사용하여 확인할 수 있습니다.
ndctl read-labels nmem0 >/dev/null
# ndctl read-labels nmem0 >/dev/null read 1 nmemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이는 하나의 NVDIMM 장치의 라벨을 읽을 수 있음을 나타냅니다. 값이
0인 경우 장치에서 레이블을 지원하지 않음을 나타냅니다.
절차
사용 가능한 공간이 있는 시스템의
pmem지역을 나열합니다. 다음 예제에서는 region1 및 region0 리전에서 공간을 사용할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 리전 중 하나에 하나 이상의 네임스페이스를 할당합니다.
ndctl create-namespace --mode=devdax --region=regionN --size=namespace-size
# ndctl create-namespace --mode=devdax --region=regionN --size=namespace-sizeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 6.4. 리전에서 네임스페이스 생성
다음 명령은 region0에 36-GiB 장치 DAX 네임스페이스를 생성합니다. 운영 체제가 한 번에 2MiB 페이지에 오류가 있는지 확인하기 위해 2MiB 오류 세분에 맞게 조정됩니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 네임스페이스를
/dev/dax0.2로 사용할 수 있습니다.
검증
장치 DAX 모드에서 새 네임스페이스가 생성되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.8. NVDIMM에 파일 시스템 DAX 네임스페이스 생성 링크 복사링크가 클립보드에 복사되었습니다!
직접 액세스 기능이 있는 파일 시스템을 지원하도록 시스템에 연결된 NVDIMM 장치를 파일 시스템 DAX 모드에서 구성합니다.
다음 옵션을 고려하십시오.
- 파일 시스템 DAX 모드로 기존 네임스페이스를 재구성합니다.
- 사용 가능한 공간이 있는 경우 새 파일 시스템 DAX 네임스페이스를 만듭니다.
파일 시스템 DAX 기술은 기술 프리뷰로만 제공되며 Red Hat에서 지원되지 않습니다.
6.8.1. 파일 시스템 직접 액세스 모드의 NVDIMM 링크 복사링크가 클립보드에 복사되었습니다!
NVDIMM 장치가 파일 시스템 직접 액세스(파일 시스템 DAX, fsdax) 모드로 구성된 경우 파일 시스템을 그 위에 만들 수 있습니다. 이 파일 시스템의 파일에서 mmap() 작업을 수행하는 모든 애플리케이션은 스토리지에 직접 액세스할 수 있습니다. 이를 통해 NVDIMM에서 직접 액세스 프로그래밍 모델을 사용할 수 있습니다.
이제 다음과 같은 새로운 -o dax 옵션을 사용할 수 있으며 필요한 경우 file 속성을 통해 직접 액세스 동작을 제어할 수 있습니다.
-O dax=inode이는 파일 시스템을 마운트하는 동안 dax 옵션을 지정하지 않는 경우 기본 옵션입니다. 이 옵션을 사용하면 dax 모드를 활성화할 수 있는지 제어하도록 파일에 속성 플래그를 설정할 수 있습니다. 필요한 경우 이 플래그를 개별 파일에 설정할 수 있습니다.
이 플래그를 디렉토리에 설정하고 해당 디렉터리의 모든 파일은 동일한 플래그를 사용하여 생성할 수도 있습니다. 이 속성 플래그는
xfs_io -c 'chattr +x'directory-name 명령을 사용하여 설정할 수 있습니다.-o dax=never-
이 옵션을 사용하면 dax 플래그가
inode모드로 설정된 경우에도 dax 모드가 활성화되지 않습니다. 즉, per-inode dax 특성 플래그가 무시되고 이 플래그를 사용하여 설정된 파일은 직접 액세스할 수 없습니다. -O dax=always이 옵션은 이전
-o dax동작과 동일합니다. 이 옵션을 사용하면 dax 특성 플래그와 관계없이 파일 시스템의 모든 파일에 대해 직접 액세스 모드를 활성화할 수 있습니다.주의추가 릴리스에서는
-o dax가 지원되지 않을 수 있으며 필요한 경우-o dax=always를 대신 사용할 수 있습니다. 이 모드에서는 모든 파일이 직접 액세스 모드에 있을 수 있습니다.- 페이지당 메타데이터 할당
이 모드에서는 시스템 DRAM 또는 NVDIMM 장치 자체에서 페이지별 메타데이터를 할당해야 합니다. 이 데이터 구조의 오버헤드는 각 4KiB 페이지당 64바이트입니다.
- 작은 장치에서 오버헤드의 양은 문제 없이 DRAM에 적합할 수 있을 만큼 작습니다. 예를 들어 16GiB 네임스페이스에는 페이지 구조에 256MiB만 필요합니다. NVDIMM 장치는 일반적으로 작고 비용이 많이 들기 때문에ECDHE에 추적 데이터 구조를 저장하는 것이 좋습니다.
테라바이트 이상의 NVDIMM 장치에서 페이지 추적 데이터 구조를 저장하는 데 필요한 메모리 양이 시스템의 DRAM 양을 초과할 수 있습니다. NVDIMM의 TiB 1개에는 페이지 구조에 16GiB가 필요합니다. 따라서 이러한 경우 NVDIMM 자체에 데이터 구조를 저장하는 것이 좋습니다.
네임스페이스를 구성할 때
--map옵션을 사용하여 per-page 메타데이터가 저장되는 위치를 구성할 수 있습니다.-
시스템 RAM에 할당하려면
--map=mem을 사용합니다. -
NVDIMM에 할당하려면
--map=dev를 사용합니다.
6.8.2. 기존 NVDIMM 네임스페이스를 파일 시스템 DAX 모드로 재구성 링크 복사링크가 클립보드에 복사되었습니다!
기존 NVMe(Non-Volatile Dual In-line Memory Modules) 네임스페이스를 파일 시스템 DAX 모드로 재구성할 수 있습니다.
네임스페이스를 다시 구성하면 네임스페이스에 이전에 저장된 데이터가 삭제됩니다.
사전 요구 사항
-
The
ndctl유틸리티가 설치되어 있습니다. 자세한 내용은 Installing ndctl 을 참조하십시오.
절차
시스템의 모든 네임스페이스를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스를 재구성합니다.
ndctl create-namespace --force --mode=fsdax --reconfig=namespace-ID
# ndctl create-namespace --force --mode=fsdax --reconfig=namespace-IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 6.5. 네임스페이스를 파일 시스템 DAX로 재구성
DAX를 지원하는 파일 시스템에
namespace0.0을 사용하려면 다음 명령을 사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제
/dev/pmem0경로에서 네임스페이스를 사용할 수 있습니다.
검증
시스템의 기존 네임스페이스가 재구성되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.8.3. 파일 시스템 DAX 모드에서 새 NVDIMM 네임스페이스 생성 링크 복사링크가 클립보드에 복사되었습니다!
지역에 사용 가능한 공간이 있는 경우 NVMe(Non-Volatile Dual In-line Memory Modules) 장치에서 새 파일 시스템 DAX 네임스페이스를 만들 수 있습니다.
사전 요구 사항
-
The
ndctl유틸리티가 설치되어 있습니다. 자세한 내용은 Installing ndctl 을 참조하십시오. NVDIMM 장치는 라벨을 지원하여 하나의 리전에 여러 네임스페이스를 생성합니다. 다음 명령을 사용하여 확인할 수 있습니다.
ndctl read-labels nmem0 >/dev/null
# ndctl read-labels nmem0 >/dev/null read 1 nmemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이는 하나의 NVDIMM 장치의 라벨을 읽을 수 있음을 나타냅니다. 값이
0인 경우 장치에서 레이블을 지원하지 않음을 나타냅니다.
절차
사용 가능한 공간이 있는 시스템의
pmem지역을 나열합니다. 다음 예제에서는 region1 및 region0 리전에서 공간을 사용할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 리전 중 하나에 하나 이상의 네임스페이스를 할당합니다.
ndctl create-namespace --mode=fsdax --region=regionN --size=namespace-size
# ndctl create-namespace --mode=fsdax --region=regionN --size=namespace-sizeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 6.6. 리전에서 네임스페이스 생성
다음 명령은 region0 에서 36-GiB 파일 시스템 DAX 네임스페이스를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 네임스페이스를
/dev/pmem0.3으로 사용할 수 있습니다.
검증
파일 시스템 DAX 모드에서 새 네임스페이스가 생성되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.8.4. 파일 시스템 DAX 장치에 파일 시스템 만들기 링크 복사링크가 클립보드에 복사되었습니다!
파일 시스템 DAX 장치에서 파일 시스템을 만들고 파일 시스템을 마운트할 수 있습니다. 파일 시스템을 생성한 후 애플리케이션은 영구 메모리를 사용하고 마운트 지점 디렉터리에 파일을 생성하고, 파일을 열고 mmap 작업을 사용하여 직접 액세스할 수 있도록 파일을 매핑할 수 있습니다.
Red Hat Enterprise Linux 8에서는 NVDIMM에서 XFS 및 ext4 파일 시스템을 기술 프리뷰로 생성할 수 있습니다.
절차
선택 사항: 파일 시스템 DAX 장치에서 파티션을 만듭니다. 자세한 내용은 parted를 사용하여 파티션 생성 을 참조하십시오.
참고fsdax장치에 파티션을 만들 때 페이지 경계에 파티션을 정렬해야 합니다. Intel 64 및 AMD64 아키텍처에서는 파티션의 시작과 끝에 최소 4KiB 정렬이 필요합니다. 2MiB가 기본 정렬입니다.기본적으로
parted도구는 1MiB 경계의 파티션을 정렬합니다. 첫 번째 파티션의 경우 파티션의 시작 부분으로 2MiB를 지정합니다. 파티션 크기가 2MiB의 배수인 경우 다른 모든 파티션도 정렬됩니다.파티션 또는 NVDIMM 장치에 XFS 또는 ext4 파일 시스템을 생성합니다.
mkfs.xfs -d su=2m,sw=1 fsdax-partition-or-device
# mkfs.xfs -d su=2m,sw=1 fsdax-partition-or-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이제 dax 지원 및 리링크된 파일이 파일 시스템에 공존할 수 있습니다. 그러나 개별 파일의 경우 dax 및 reflink는 함께 사용할 수 없습니다.
XFS의 경우 공유 COW(Copy-On-Write) 데이터 Extent가 dax 마운트 옵션과 호환되지 않으므로 비활성화합니다. 또한 페이지 매핑의 가능성을 높이기 위해 스트라이프 단위와 스트라이프 너비를 설정합니다.
파일 시스템을 마운트합니다.
mount f_sdax-partition-or-device mount-point_
# mount f_sdax-partition-or-device mount-point_Copy to Clipboard Copied! Toggle word wrap Toggle overflow 직접 액세스 모드를 활성화하려면 dax 옵션으로 파일 시스템을 마운트할 필요가 없습니다. 마운트하는 동안 dax 옵션을 지정하지 않으면 파일 시스템이
dax=inode모드에 있습니다. 직접 액세스 모드가 활성화되기 전에 파일에 dax 옵션을 설정합니다.
6.9. S.M.A.R.T를 사용하여 NVDIMM 상태 모니터링. 링크 복사링크가 클립보드에 복사되었습니다!
일부 비Volatile Dual In-line Memory Modules (NVDIMM) 장치는 상태 정보를 검색하기 위해 자체 모니터링, 분석 및 보고 기술(S.M.A.R.T) 인터페이스를 지원합니다.
데이터 손실을 방지하기 위해 NVDIMM 상태를 정기적으로 모니터링합니다. S.M.A.R.T.가 NVDIMM 장치의 상태에 문제를 보고하는 경우 이를 탐지하고 손상된 NVDIMM 장치를 교체하는 데 설명된 대로 교체합니다.
사전 요구 사항
선택 사항: 일부 시스템에서는
acpi_ipmi드라이버를 업로드하여 다음 명령을 사용하여 상태 정보를 검색합니다.modprobe acpi_ipmi
# modprobe acpi_ipmiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
상태 정보에 액세스합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.10. 손상된 NVDIMM 장치 감지 및 교체 링크 복사링크가 클립보드에 복사되었습니다!
시스템 로그 또는 S.M.A.R.T.T.에 의해 보고된 NVDIMM(Non-Volatile Dual In-line Memory Modules)과 관련된 오류 메시지가 발견되면 NVDIMM 장치가 실패할 수 있습니다. 이 경우 다음을 수행해야 합니다.
- 실패한 NVDIMM 장치 감지
- 백업 데이터가 저장되어 있습니다
- 물리적으로 장치를 교체
절차
손상된 장치를 감지합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 손상된 NVDIMM의 Restics
_id특성을 찾습니다.ndctl list --dimms --human
# ndctl list --dimms --humanCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 예에서
nmem0이 손상된 NVDIMM이라는 것을 알고 있습니다. 따라서nmem0의phys_id속성을 찾습니다.예 6.7. NVDIMM의 phys_id 속성
다음 예에서
phys_id는0x10입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 손상된 NVDIMM의 메모리 슬롯을 찾습니다.
dmidecode
# dmidecodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에서 Handle 식별자가 손상된 NVDIMM의 Restics
_id속성과 일치하는 항목을 찾습니다. 이 필드에 는 손상된 NVDIMM에서 사용하는 메모리 슬롯이 나열됩니다.예 6.8. NVDIMM 메모리 롤링
다음 예에서
nmem0장치는0x0010식별자와 일치하며DIMM-XXX-YYYY 메모리 슬롯을사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow NVDIMM의 네임스페이스에 있는 모든 데이터를 백업합니다. NVDIMM을 교체하기 전에 데이터를 백업하지 않으면 시스템에서 NVDIMM을 제거하면 데이터가 손실됩니다.
주의NVDIMM이 완전히 손상된 경우와 같은 경우에 따라 백업이 실패할 수 있습니다.
이를 방지하기 위해 S.M.A.R.T. 를 사용하여 NVDIMM 상태 모니터링에 설명된 대로 NVDIMM 장치를 정기적으로 모니터링하고 오류가 발생하기 전에 NVDIMM을 교체합니다.
NVDIMM의 네임스페이스를 나열합니다.
ndctl list --namespaces --dimm=DIMM-ID-number
# ndctl list --namespaces --dimm=DIMM-ID-numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예 6.9. NVDIMM 네임스페이스 목록
다음 예에서
nmem0 장치에는백업해야 하는namespace0.0및namespace0.2네임스페이스가 포함되어 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 손상된 NVDIMM을 물리적으로 교체합니다.
7장. 사용하지 않는 블록 삭제 링크 복사링크가 클립보드에 복사되었습니다!
해당 장치를 지원하는 블록 장치에서 삭제 작업을 수행하거나 예약할 수 있습니다. 블록 삭제 작업은 마운트된 파일 시스템에서 더 이상 사용되지 않는 기본 스토리지와 통신합니다. 블록 삭제 작업을 통해 SSD는 가비지 컬렉션 루틴을 최적화할 수 있으며 씬 프로비저닝된 스토리지에 사용되지 않는 물리적 블록을 다시 사용하도록 알릴 수 있습니다.
요구 사항
파일 시스템의 기본 블록 장치는 물리적 삭제 작업을 지원해야 합니다.
/sys/block/ <device> /queue/discard_max_bytes파일의 값이 0이 아닌 경우 물리적 삭제 작업이 지원됩니다.
7.1. 블록 삭제 작업 유형 링크 복사링크가 클립보드에 복사되었습니다!
다양한 방법을 사용하여 삭제 작업을 실행할 수 있습니다.
- 배치 삭제
- 사용자에 의해 명시적으로 트리거되고 선택한 파일 시스템에서 사용되지 않는 모든 블록을 삭제합니다.
- 온라인 삭제
-
마운트 시 지정되며 사용자 개입 없이 실시간으로 트리거됩니다. 온라인 삭제 작업은
사용된상태에서free상태로 전환되는 블록만 삭제합니다. - 주기적인 삭제
-
은
systemd서비스에서 정기적으로 실행하는 배치 작업입니다.
모든 유형은 XFS 및 ext4 파일 시스템에서 지원됩니다.
권장 사항
배치 또는 정기적 삭제를 사용하는 것이 좋습니다.
다음과 같은 경우에만 온라인 삭제를 사용하십시오.
- 시스템의 워크로드를 배치 삭제를 사용할 수 없거나
- 성능을 유지하려면 온라인 삭제 작업이 필요합니다.
7.2. 배치 블록 삭제 수행 링크 복사링크가 클립보드에 복사되었습니다!
배치 블록 삭제 작업을 수행하여 마운트된 파일 시스템에서 사용되지 않는 블록을 삭제할 수 있습니다.
사전 요구 사항
- 파일 시스템이 마운트됩니다.
- 파일 시스템의 기본 블록 장치는 물리적 삭제 작업을 지원합니다.
절차
fstrim유틸리티를 사용합니다.선택한 파일 시스템에서만 삭제하려면 다음을 사용합니다.
fstrim mount-point
# fstrim mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow 마운트된 모든 파일 시스템에서 삭제하려면 다음을 사용합니다.
fstrim --all
# fstrim --allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
fstrim 명령을 실행하는 경우 다음을 실행합니다.
- 삭제 작업을 지원하지 않는 장치 또는
- 여러 장치로 구성된 LVM 또는 MD. 장치 중 하나에서 삭제 작업을 지원하지 않는 논리 장치(LVM 또는 MD)
다음 메시지가 표시됩니다.
fstrim /mnt/non_discard
# fstrim /mnt/non_discard
fstrim: /mnt/non_discard: the discard operation is not supported
7.3. 온라인 블록 삭제 활성화 링크 복사링크가 클립보드에 복사되었습니다!
온라인 블록 삭제 작업을 수행하여 지원되는 모든 파일 시스템에서 사용되지 않는 블록을 자동으로 삭제할 수 있습니다.
절차
마운트 시 온라인 삭제를 활성화합니다.
파일 시스템을 수동으로 마운트할 때
-o discard마운트 옵션을 추가합니다.mount -o discard device mount-point
# mount -o discard device mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
파일 시스템을 영구적으로 마운트할 때
/etc/fstab파일의 마운트 항목에삭제옵션을 추가합니다.
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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy 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
7.5. 주기적인 블록 삭제 활성화 링크 복사링크가 클립보드에 복사되었습니다!
systemd 타이머를 활성화하여 지원되는 모든 파일 시스템에서 사용되지 않는 블록을 정기적으로 삭제할 수 있습니다.
절차
systemd타이머를 활성화하고 시작합니다.systemctl enable --now fstrim.timer
# systemctl enable --now fstrim.timer Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer → /usr/lib/systemd/system/fstrim.timer.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
타이머 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8장. iSCSI 대상 구성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux는 targetcli 쉘을 명령줄 인터페이스로 사용하여 다음 작업을 수행합니다.
- iSCSI 하드웨어를 활용하기 위해 iSCSI 스토리지 상호 연결을 추가, 제거, 보기 및 모니터링합니다.
- 파일, 볼륨, 로컬 SCSI 장치 또는 RAM 디스크에서 지원하는 로컬 스토리지 리소스를 원격 시스템으로 내보냅니다.
targetcli 툴에는 기본 제공 탭 완성, 자동 완성 지원, 인라인 문서 등 트리 기반 레이아웃이 있습니다.
8.1. targetcli 설치 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 스토리지 상호 연결을 추가, 모니터링 및 제거하는 targetcli 툴을 설치합니다.
절차
targetcli툴을 설치합니다.yum install targetcli
# yum install targetcliCopy to Clipboard Copied! Toggle word wrap Toggle overflow target 서비스를 시작합니다.
systemctl start target
# systemctl start targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 시 시작되도록 대상을 설정합니다.
systemctl enable target
# systemctl enable targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 방화벽에서 포트
3260을 열고 방화벽 구성을 다시 로드합니다.firewall-cmd --permanent --add-port=3260/tcp
# firewall-cmd --permanent --add-port=3260/tcp SuccessCopy to Clipboard Copied! Toggle word wrap Toggle overflow firewall-cmd --reload
# firewall-cmd --reload SuccessCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
targetcli레이아웃을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. iSCSI 대상 생성 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 대상을 생성하여 클라이언트의 iSCSI 이니시에이터가 서버의 스토리지 장치에 액세스하도록 할 수 있습니다. 타겟과 이니시에이터 모두 고유한 이름이 있습니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오.
절차
iSCSI 디렉터리로 이동합니다.
cd명령을 사용하여 iSCSI 디렉토리로 이동할 수도 있습니다./> iscsi/
/> iscsi/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 옵션 중 하나를 사용하여 iSCSI 대상을 생성합니다.
기본 대상 이름을 사용하여 iSCSI 대상 생성:
/iscsi> create Created target iqn.2003-01.org.linux-iscsi.hostname.x8664:sn.78b473f296ff Created TPG1
/iscsi> create Created target iqn.2003-01.org.linux-iscsi.hostname.x8664:sn.78b473f296ff Created TPG1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 이름을 사용하여 iSCSI 대상 생성:
/iscsi> create iqn.2006-04.com.example:444 Created target iqn.2006-04.com.example:444 Created TPG1 Here iqn.2006-04.com.example:444 is target_iqn_name
/iscsi> create iqn.2006-04.com.example:444 Created target iqn.2006-04.com.example:444 Created TPG1 Here iqn.2006-04.com.example:444 is target_iqn_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow iqn.2006-04.com.example:444 를 특정 대상 이름으로 바꿉니다.
새로 생성된 대상을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3. iSCSI 백업 저장소 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 보조 저장소를 사용하면 내보낸 LUN의 데이터를 로컬 시스템에 저장하는 다양한 방법을 지원할 수 있습니다. 스토리지 오브젝트를 생성하면 보조 저장소에서 사용하는 리소스를 정의합니다.
관리자는 Linux-IO (LIO)에서 지원하는 다음 보조 저장소 장치를 선택할 수 있습니다.
FileIO보조 저장소-
로컬
파일 시스템에서 일반 파일을 디스크 이미지로 사용하는 경우 fileio스토리지 오브젝트를 생성합니다.fileio백 저장소 생성은 fileio 스토리지 오브젝트 생성을 참조하십시오. 블록보조 저장소-
로컬
블록장치 및 논리적 장치를 사용하는 경우 블록 스토리지 오브젝트를 생성합니다.블록백 저장소 생성은 블록 스토리지 오브젝트 생성을 참조하십시오. pscsibackstore-
스토리지 오브젝트가 SCSI 명령의 직접 패스스루를 지원하는 경우
pscsi스토리지 오브젝트를 만듭니다.pscsi백 저장소 생성은 pscsi 스토리지 오브젝트 생성을 참조하십시오. ramdisk보조 저장소-
임시 RAM 백업 장치를 생성하려면
ramdisk스토리지 오브젝트를 생성합니다.램디스크백 저장소 생성은 메모리 복사 디스크 스토리지 오브젝트 생성을 참조하십시오.
8.4. fileio 스토리지 오브젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
Fileio 스토리지 개체는 write_back 또는 작업을 지원할 수 있습니다. write_ thruwrite_back 작업을 사용하면 로컬 파일 시스템 캐시가 활성화됩니다. 따라서 성능이 향상되지만 데이터 손실 위험이 높아집니다.
write_back=false를 사용하여 write_ thru 작업을 위해 write_back 작업을 비활성화하는 것이 좋습니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오.
절차
backstores/디렉토리에서fileio/로 이동합니다./> backstores/fileio
/> backstores/fileioCopy to Clipboard Copied! Toggle word wrap Toggle overflow fileio스토리지 오브젝트를 생성합니다./backstores/fileio> create file1 /tmp/disk1.img 200M write_back=false Created fileio file1 with size 209715200
/backstores/fileio> create file1 /tmp/disk1.img 200M write_back=false Created fileio file1 with size 209715200Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
생성된
fileio스토리지 오브젝트를 확인합니다./backstores/fileio> ls
/backstores/fileio> lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.5. 블록 스토리지 오브젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
블록 드라이버를 사용하면 /sys/block/ 디렉토리에 표시되는 모든 블록 장치를 Linux-IO(LIO)와 함께 사용할 수 있습니다. 여기에는 HDD, SSD, CD 및 DVD와 같은 물리적 장치, 소프트웨어 또는 하드웨어 RAID 볼륨 또는 LVM 볼륨과 같은 논리 장치가 포함됩니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오.
절차
backstores/디렉터리에서block/로 이동합니다./> backstores/block/
/> backstores/block/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 블록보조 저장소를 생성합니다./backstores/block> create name=block_backend dev=/dev/sdb Generating a wwn serial. Created block storage object block_backend using /dev/sdb.
/backstores/block> create name=block_backend dev=/dev/sdb Generating a wwn serial. Created block storage object block_backend using /dev/sdb.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
생성된
블록스토리지 오브젝트를 확인합니다./backstores/block> ls
/backstores/block> lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.6. pscsi 스토리지 오브젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
SCSI 에뮬레이션 없이 SCSI 명령의 직접 통과를 지원하는 스토리지 오브젝트와 SAS 하드 드라이브와 같은 /proc/scsi/scsi 에서 lsscsi 와 함께 표시되는 기본 SCSI 장치를 백 저장소로 구성할 수 있습니다. 이 하위 시스템에서 SCSI-3 이상이 지원됩니다.
pscsi 는 고급 사용자만 사용해야 합니다. AUA(Aymmetric Logical Unit Assignment) 또는 영구 예약(예: VMware ESX 및 vSphere에서 사용하는)과 같은 고급 SCSI 명령은 일반적으로 장치 펌웨어에 구현되지 않으며 오작동 또는 충돌을 일으킬 수 있습니다. 확실하지 않은 경우 대신 프로덕션 설정에 블록 보조 저장소를 사용합니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오.
절차
backstores/디렉터리에서pscsi/로 이동합니다./> backstores/pscsi/
/> backstores/pscsi/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서
/dev/sr0을 사용하는 TYPE_ROM 장치인 물리적 SCSI 장치에 대한pscsi백 저장소를 생성합니다./backstores/pscsi> create name=pscsi_backend dev=/dev/sr0 Generating a wwn serial. Created pscsi storage object pscsi_backend using /dev/sr0
/backstores/pscsi> create name=pscsi_backend dev=/dev/sr0 Generating a wwn serial. Created pscsi storage object pscsi_backend using /dev/sr0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
생성된
pscsi스토리지 오브젝트를 확인합니다./backstores/pscsi> ls
/backstores/pscsi> lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.7. 메모리 복사 RAM 디스크 스토리지 오브젝트 생성 링크 복사링크가 클립보드에 복사되었습니다!
메모리 복사 RAM 디스크(ramdisk)는 이니시에이터에 메모리 복사본을 사용하여 RAM 디스크에 전체 SCSI 에뮬레이션 및 별도의 메모리 매핑을 제공합니다. 이 기능은 다중 세션에 대한 기능을 제공하며, 특히 프로덕션 용도로 빠르고 휘발성 대량 스토리지에 유용합니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오.
절차
backstores/디렉토리에서ramdisk/로 이동합니다./> backstores/ramdisk/
/> backstores/ramdisk/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1GB RAM 디스크 백업 저장소를 생성합니다.
/backstores/ramdisk> create name=rd_backend size=1GB Generating a wwn serial. Created rd_mcp ramdisk rd_backend with size 1GB.
/backstores/ramdisk> create name=rd_backend size=1GB Generating a wwn serial. Created rd_mcp ramdisk rd_backend with size 1GB.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
생성된
램디스크스토리지 오브젝트를 확인합니다./backstores/ramdisk> ls
/backstores/ramdisk> lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.8. iSCSI 포털 생성 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 포털을 생성할 수 있습니다. 그러면 대상을 계속 활성화하는 대상에 IP 주소와 포트가 추가됩니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오. - TPG(대상 포털 그룹)와 연결된 iSCSI 대상입니다. 자세한 내용은 iSCSI 대상 생성을 참조하십시오.
절차
TPG 디렉터리로 이동합니다.
/iscsi> iqn.2006-04.com.example:444/tpg1/
/iscsi> iqn.2006-04.com.example:444/tpg1/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 옵션 중 하나를 사용하여 iSCSI 포털을 생성합니다.
기본 포털을 생성하면 기본 iSCSI 포트
3260을 사용하며 대상이 해당 포트의 모든 IP 주소를 수신 대기할 수 있습니다./iscsi/iqn.20...mple:444/tpg1> portals/ create Using default IP port 3260 Binding to INADDR_Any (0.0.0.0) Created network portal 0.0.0.0:3260
/iscsi/iqn.20...mple:444/tpg1> portals/ create Using default IP port 3260 Binding to INADDR_Any (0.0.0.0) Created network portal 0.0.0.0:3260Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 IP 주소를 사용하여 포털 생성:
/iscsi/iqn.20...mple:444/tpg1> portals/ create 192.168.122.137 Using default IP port 3260 Created network portal 192.168.122.137:3260
/iscsi/iqn.20...mple:444/tpg1> portals/ create 192.168.122.137 Using default IP port 3260 Created network portal 192.168.122.137:3260Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새로 생성된 포털을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.9. iSCSI LUN 생성 링크 복사링크가 클립보드에 복사되었습니다!
LUN(논리 단위 번호)은 iSCSI 보조 저장소에서 지원하는 물리적 장치입니다. 각 LUN에는 고유한 번호가 있습니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오. - TPG(대상 포털 그룹)와 연결된 iSCSI 대상입니다. 자세한 내용은 iSCSI 대상 생성을 참조하십시오.
- 생성된 스토리지 오브젝트. 자세한 내용은 iSCSI Backstore 를 참조하십시오.
절차
이미 생성된 스토리지 오브젝트의 LUN을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 LUN을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 LUN 이름은
0에서 시작됩니다.중요기본적으로 읽기-쓰기 권한으로 LUN이 생성됩니다. ACL이 생성된 후 새 LUN을 추가하면 LUN이 사용 가능한 모든 ACL에 자동으로 매핑되며 보안 위험이 발생할 수 있습니다. 읽기 전용 권한이 있는 LUN을 생성하려면 읽기 전용 iSCSI LUN 생성 을 참조하십시오.
- ACL 구성. 자세한 내용은 iSCSI ACL 생성을 참조하십시오.
8.10. 읽기 전용 iSCSI LUN 생성 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 읽기-쓰기 권한으로 LUN이 생성됩니다. 읽기 전용 LUN을 만들 수 있습니다.
사전 요구 사항
-
targetcli를 설치하고 실행합니다. 자세한 내용은 설치를 참조하십시오. - TPG(대상 포털 그룹)와 연결된 iSCSI 대상입니다. 자세한 내용은 iSCSI 대상 생성을 참조하십시오.
- 생성된 스토리지 오브젝트. 자세한 내용은 iSCSI Backstore 를 참조하십시오.
절차
읽기 전용 권한을 설정합니다.
/> set global auto_add_mapped_luns=false Parameter auto_add_mapped_luns is now 'false'.
/> set global auto_add_mapped_luns=false Parameter auto_add_mapped_luns is now 'false'.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 따라서 LUN을 기존 ACL에 자동 매핑할 수 없으므로 LUN의 수동 매핑이 가능합니다.
initiator_iqn_name 디렉터리로 이동합니다.
/> iscsi/target_iqn_name/tpg1/acls/initiator_iqn_name/
/> iscsi/target_iqn_name/tpg1/acls/initiator_iqn_name/Copy to Clipboard Copied! Toggle word wrap Toggle overflow LUN을 생성합니다.
/iscsi/target_iqn_name/tpg1/acls/initiator_iqn_name> create mapped_lun=next_sequential_LUN_number tpg_lun_or_backstore=backstore write_protect=1
/iscsi/target_iqn_name/tpg1/acls/initiator_iqn_name> create mapped_lun=next_sequential_LUN_number tpg_lun_or_backstore=backstore write_protect=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제:
/iscsi/target_iqn_name/tpg1/acls/2006-04.com.example:888> create mapped_lun=1 tpg_lun_or_backstore=/backstores/block/block2 write_protect=1 Created LUN 1. Created Mapped LUN 1.
/iscsi/target_iqn_name/tpg1/acls/2006-04.com.example:888> create mapped_lun=1 tpg_lun_or_backstore=/backstores/block/block2 write_protect=1 Created LUN 1. Created Mapped LUN 1.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 LUN을 확인합니다.
/iscsi/target_iqn_name/tpg1/acls/2006-04.com.example:888> ls o- 2006-04.com.example:888 .. [Mapped LUNs: 2] | o- mapped_lun0 .............. [lun0 block/disk1 (rw)] | o- mapped_lun1 .............. [lun1 block/disk2 (ro)]
/iscsi/target_iqn_name/tpg1/acls/2006-04.com.example:888> ls o- 2006-04.com.example:888 .. [Mapped LUNs: 2] | o- mapped_lun0 .............. [lun0 block/disk1 (rw)] | o- mapped_lun1 .............. [lun1 block/disk2 (ro)]Copy to Clipboard Copied! Toggle word wrap Toggle overflow mapped_lun1 행에는 이제 끝에 (RO
)가 있습니다( mapped_lun0의 (rw)와 달리 읽기 전용임을 나타냅니다.- ACL 구성. 자세한 내용은 iSCSI ACL 생성을 참조하십시오.
8.11. iSCSI ACL 생성 링크 복사링크가 클립보드에 복사되었습니다!
targetcli 서비스는 ACL(액세스 제어 목록)을 사용하여 액세스 규칙을 정의하고 각 초기자에게 LUN(Logical Unit Number)에 대한 액세스 권한을 부여합니다.
타겟과 이니시에이터 모두 고유한 이름이 있습니다. ACL을 구성하려면 이니시에이터의 고유한 이름을 알아야 합니다. iscsi-initiator-utils 패키지에서 제공하는 /etc/iscsi/initiatorname.iscsi 파일에는 iSCSI 이니시에이터 이름이 포함되어 있습니다.
사전 요구 사항
-
targetcli서비스가 설치되어 실행 중입니다. - 대상 포털 그룹(TPG)과 연결된 iSCSI 대상입니다.
절차
- 선택 사항: LUN에 대한 자동 매핑을 비활성화하려면 읽기 전용 iSCSI LUN 만들기 를 참조하십시오.
acls 디렉터리로 이동합니다.
/> iscsi/target_iqn_name/tpg_name/acls/
/> iscsi/target_iqn_name/tpg_name/acls/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 옵션 중 하나를 사용하여 ACL을 생성합니다.
이니시에이터의
/etc/iscsi/initiatorname.iscsi파일에서 initiator_iqn_name 을 사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow custom_name 을 사용하고 이니시에이터가 일치하도록 업데이트합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이니시에이터 이름 업데이트에 대한 자세한 내용은 iSCSI 인티베이터 생성을 참조하십시오.
검증
생성된 ACL을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.12. 대상에 대한 Challenge-Handshake Authentication Protocol 설정 링크 복사링크가 클립보드에 복사되었습니다!
CHAP ( Challenge-Handshake Authentication Protocol)를 사용하면 사용자가 암호로 대상을 보호할 수 있습니다. 이니시에이터는 이 암호를 인식하여 타겟에 연결할 수 있어야 합니다.
사전 요구 사항
- 생성된 iSCSI ACL. 자세한 내용은 iSCSI ACL 생성을 참조하십시오.
절차
속성 인증을 설정합니다.
/iscsi/iqn.20...mple:444/tpg1> set attribute authentication=1 Parameter authentication is now '1'.
/iscsi/iqn.20...mple:444/tpg1> set attribute authentication=1 Parameter authentication is now '1'.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 ID 및암호 설정:/tpg1> set auth userid=redhat Parameter userid is now 'redhat'. /iscsi/iqn.20...689dcbb3/tpg1> set auth password=redhat_passwd Parameter password is now 'redhat_passwd'.
/tpg1> set auth userid=redhat Parameter userid is now 'redhat'. /iscsi/iqn.20...689dcbb3/tpg1> set auth password=redhat_passwd Parameter password is now 'redhat_passwd'.Copy to Clipboard Copied! Toggle word wrap Toggle overflow acls디렉터리로 이동합니다./> iscsi/target_iqn_name/tpg1/acls/initiator_iqn_name/
/> iscsi/target_iqn_name/tpg1/acls/initiator_iqn_name/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 속성 인증을 설정합니다.
/iscsi/iqn.20...:605fcc6a48be> set attribute authentication=1 Parameter authentication is now '1'.
/iscsi/iqn.20...:605fcc6a48be> set attribute authentication=1 Parameter authentication is now '1'.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 ID 및암호 설정:/iscsi/iqn.20...:605fcc6a48be> set auth userid=redhat Parameter userid is now 'redhat'. /iscsi/iqn.20...:605fcc6a48be> set auth password=redhat_passwd Parameter password is now 'redhat_passwd'.
/iscsi/iqn.20...:605fcc6a48be> set auth userid=redhat Parameter userid is now 'redhat'. /iscsi/iqn.20...:605fcc6a48be> set auth password=redhat_passwd Parameter password is now 'redhat_passwd'.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.13. targetcli 툴을 사용하여 iSCSI 오브젝트 제거 링크 복사링크가 클립보드에 복사되었습니다!
Cryostat 툴을 사용하여 iSCSI 오브젝트를 제거할 수 있습니다.
절차
대상에서 로그아웃합니다.
iscsiadm -m node -T iqn.2006-04.com.example:444 -u
# iscsiadm -m node -T iqn.2006-04.com.example:444 -uCopy to Clipboard Copied! Toggle word wrap Toggle overflow 대상에 로그인하는 방법에 대한 자세한 내용은 iSCSI 이니시에이터 생성을 참조하십시오.
모든 ACL, LUN 및 포털을 포함하여 전체 대상을 제거합니다.
/> iscsi/ delete iqn.2006-04.com.example:444
/> iscsi/ delete iqn.2006-04.com.example:444Copy to Clipboard Copied! Toggle word wrap Toggle overflow iqn.2006-04.com.example:444 를 target_iqn_name으로 바꿉니다.
iSCSI 보조 저장소를 제거하려면 다음을 수행합니다.
/> backstores/backstore-type/ delete block_backend
/> backstores/backstore-type/ delete block_backendCopy to Clipboard Copied! Toggle word wrap Toggle overflow backstore-type 을
fileio,block,pscsi또는ramdisk로 바꿉니다.block_backend 를 삭제하려는 backstore-name 으로 바꿉니다.
ACL과 같은 iSCSI 대상의 일부를 제거하려면 다음을 수행합니다.
/> /iscsi/iqn-name/tpg/acls/ delete iqn.2006-04.com.example:444
/> /iscsi/iqn-name/tpg/acls/ delete iqn.2006-04.com.example:444Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
변경 사항을 확인합니다.
/> iscsi/ ls
/> iscsi/ lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9장. iSCSI 개시자 구성 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 이니시에이터는 iSCSI 대상에 연결하는 세션을 구성합니다. 기본적으로 iSCSI 서비스는 지연 시작되며 iscsiadm 명령을 실행한 후에 서비스가 시작됩니다. root가 iSCSI 장치에 없거나 node.startup = 자동으로 표시된 노드가 없는 경우 서비스가 시작되지 않습니다.
iscsid 또는 iscsi 커널 모듈이 필요한 iscsiadm 명령이 실행될 때까지 iSCSI
systemctl start iscsid 명령을 root로 실행하여 iscsid 서비스가 실행되고 iSCSI 커널 모듈이 로드되도록 합니다.
9.1. iSCSI 이니시에이터 생성 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 이니시에이터를 생성하여 서버의 스토리지 장치에 액세스하기 위해 iSCSI 대상에 연결합니다.
사전 요구 사항
iSCSI 대상의 호스트 이름과 IP 주소가 있습니다.
- 외부 소프트웨어가 생성한 스토리지 대상에 연결하는 경우 스토리지 관리자의 대상 호스트 이름과 IP 주소를 찾습니다.
- iSCSI 대상을 생성하는 경우 iSCSI 대상 생성을 참조하십시오.
절차
클라이언트 시스템에
iscsi-initiator-utils를 설치합니다.yum install iscsi-initiator-utils
# yum install iscsi-initiator-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow iscsid서비스를 시작합니다.systemctl start iscsid
# systemctl start iscsidCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이니시에이터 이름을 확인합니다.
cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2006-04.com.example:888
# cat /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2006-04.com.example:888Copy to Clipboard Copied! Toggle word wrap Toggle overflow ACL에 iSCI ACL 생성에 사용자 지정 이름이 제공된 경우 ACL 과 일치하도록 이니시에이터 이름을 업데이트합니다.
/etc/iscsi/initiatorname.iscsi파일을 열고 이니시에이터 이름을 수정합니다.vi /etc/iscsi/initiatorname.iscsi
# vi /etc/iscsi/initiatorname.iscsi InitiatorName=custom-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow iscsid서비스를 다시 시작합니다.systemctl restart iscsid
# systemctl restart iscsidCopy to Clipboard Copied! Toggle word wrap Toggle overflow
대상을 검색하고 표시된 타겟 IQN을 사용하여 대상에 로그인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 10.64.24.179 를 target-ip-address로 바꿉니다.
iSCSI ACL 생성에 설명된 대로 각 이니시에이터 이름이 ACL에 추가되는 경우 동일한 대상에 연결된 이니시에이터 수에 이 절차를 사용할 수 있습니다.
iSCSI 디스크 이름을 찾아 이 iSCSI 디스크에 파일 시스템을 생성합니다.
grep "Attached SCSI" /var/log/messages mkfs.ext4 /dev/disk_name
# grep "Attached SCSI" /var/log/messages # mkfs.ext4 /dev/disk_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow disk_name 을
/var/log/messages파일에 표시된 iSCSI 디스크 이름으로 바꿉니다.파일 시스템을 마운트합니다.
mkdir /mount/point mount /dev/disk_name /mount/point
# mkdir /mount/point # mount /dev/disk_name /mount/pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow /mount/point 를 파티션의 마운트 지점으로 바꿉니다.
/etc/fstab파일을 편집하여 시스템이 부팅될 때 파일 시스템을 자동으로 마운트합니다.vi /etc/fstab
# vi /etc/fstab /dev/disk_name /mount/point ext4 _netdev 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow disk_name 을 iSCSI 디스크 이름으로 바꾸고 /mount/point 를 파티션의 마운트 지점으로 바꿉니다.
9.2. 개시자를 위한 Challenge-Handshake Authentication Protocol 설정 링크 복사링크가 클립보드에 복사되었습니다!
CHAP ( Challenge-Handshake Authentication Protocol)를 사용하면 사용자가 암호로 대상을 보호할 수 있습니다. 이니시에이터는 이 암호를 인식하여 타겟에 연결할 수 있어야 합니다.
사전 요구 사항
- iSCSI 이니시에이터 생성. 자세한 내용은 iSCSI 이니시에이터 생성을 참조하십시오.
-
대상에 대한
CHAP를 설정합니다. 자세한 내용은 대상에 대한 Challenge-Handshake 인증 프로토콜 설정을 참조하십시오.
절차
iscsid.conf 파일에서 CHAP 인증을 활성화합니다.vi /etc/iscsi/iscsid.conf
# vi /etc/iscsi/iscsid.conf node.session.auth.authmethod = CHAPCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로
node.session.auth.authmethod는None으로 설정됩니다.iscsid.conf 파일에 대상사용자 이름과암호를추가합니다.node.session.auth.username = redhat node.session.auth.password = redhat_passwd
node.session.auth.username = redhat node.session.auth.password = redhat_passwdCopy to Clipboard Copied! Toggle word wrap Toggle overflow iscsid서비스를 다시 시작합니다.systemctl restart iscsid
# systemctl restart iscsidCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3. iscsiadm 유틸리티를 사용하여 iSCSI 세션 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
iscsiadm 유틸리티를 사용하여 iscsi 세션을 모니터링할 수 있습니다.
기본적으로 iSCSI 서비스는 지연 시작되며 iscsiadm 명령을 실행한 후에 서비스가 시작됩니다. root가 iSCSI 장치에 없거나 node.startup = 자동으로 표시된 노드가 없는 경우 서비스가 시작되지 않습니다.
iscsid 또는 iscsi 커널 모듈이 필요한 iscsiadm 명령이 실행될 때까지 iSCSI
systemctl start iscsid 명령을 root로 사용하여 iscsid 서비스가 실행되고 iSCSI 커널 모듈이 로드되도록 합니다.
절차
클라이언트 시스템에
iscsi-initiator-utils를 설치합니다.yum install iscsi-initiator-utils
# yum install iscsi-initiator-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 실행 중인 세션에 대한 정보를 찾습니다.
iscsiadm -m session -P 3
# iscsiadm -m session -P 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 세션 또는 장치 상태, 세션 ID(sid), 일부 협상된 매개 변수 및 세션을 통해 액세스할 수 있는 SCSI 장치를 표시합니다.
예를 들어
sid-to-node매핑만 표시하려면 다음 명령을 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 명령은 실행 중인 세션 목록을
[sid] target_ip:port,target_portal_group_tag proper_target_name 형식으로 출력합니다.
9.4. DM Multipath가 장치 시간 초과를 덮어씁니다 링크 복사링크가 클립보드에 복사되었습니다!
recovery_tmo sysfs 옵션은 특정 iSCSI 장치에 대한 시간 초과를 제어합니다. 다음 옵션은 recovery_tmo 값을 전역적으로 덮어씁니다.
-
replacement_timeout구성 옵션은 모든 iSCSI 장치의recovery_tmo값을 전역적으로 덮어씁니다. DM Multipath에서 관리하는 모든 iSCSI 장치의 경우 DM Multipath의
fast_io_fail_tmo옵션은recovery_tmo값을 전역적으로 덮어씁니다.DM Multipath의
fast_io_fail_tmo옵션은 파이버 채널 장치의fast_io_fail_tmo옵션도 재정의합니다.
DM Multipath fast_io_fail_tmo 옵션이 replacement_timeout 보다 우선합니다. multipathd 서비스가 다시 로드될 때마다 recovery_tmo 를 fast_io_fail_tmo 구성 옵션 값으로 재설정합니다. DM 다중 경로 fast_io_fail_tmo 설정 옵션을 사용하여 DM Multipath가 관리하는 장치에서 recovery_tmo 를 재정의합니다.
10장. 파이버 채널 장치 사용 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 8은 다음과 같은 기본 파이버 채널 드라이버를 제공합니다.
-
lpfc -
qla2xxx -
zfcp
10.1. LUN 크기 조정 후 파이버 채널 논리 단위 다시 검사 링크 복사링크가 클립보드에 복사되었습니다!
외부 스토리지에서 LUN(Logical Unit Number) 크기를 변경한 경우 echo 명령을 사용하여 크기의 커널 보기를 업데이트합니다.
절차
다중경로 논리적 장치의 경로를 결정합니다.multipath -ll
# multipath -llCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다중 경로를 사용하는 시스템에서 파이버 채널 논리 단위를 다시 스캔합니다.
echo 1 > /sys/block/<device_ID>/device/rescan
$ echo 1 > /sys/block/<device_ID>/device/rescanCopy to Clipboard Copied! Toggle word wrap Toggle overflow <
;device_ID>를 장치의 ID(예:sda)로 바꿉니다.
10.2. 파이버 채널을 사용하여 장치의 링크 손실 동작 확인 링크 복사링크가 클립보드에 복사되었습니다!
드라이버가 전송 dev_loss_tmo 콜백을 구현하는 경우 전송 문제가 감지되면 링크를 통해 장치에 대한 액세스가 차단됩니다.
절차
원격 포트의 상태를 확인합니다.
cat /sys/class/fc_remote_ports/rport-host:bus:remote-port/port_state
$ cat /sys/class/fc_remote_ports/rport-host:bus:remote-port/port_stateCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 다음 출력 중 하나를 반환합니다.
-
원격
포트를통해 액세스하는 장치와 함께 원격 포트가 차단되면 차단됩니다. 원격 포트가 정상적으로 작동하는 경우
온라인dev_loss_tmo초 내에 문제가 해결되지 않으면rport및 device가 차단 해제됩니다. 해당 장치에 전송된 새 I/O와 함께 해당 장치에서 실행되는 모든 I/O가 실패합니다.
-
원격
링크 손실이 dev_loss_tmo 를 초과하면 scsi_device 및 sd_N_ 장치가 제거됩니다. 일반적으로 파이버 채널 클래스는 장치를 변경하지 않습니다(예: /dev/sda 는 /dev/sda ). 대상 바인딩이 파이버 채널 드라이버에서 저장되고 대상 포트가 반환되면 SCSI 주소가 다시 생성되기 때문입니다. 그러나 이를 보장할 수는 없으며 LUN의 저장소 내 박스 구성에 대한 추가 변경이 이루어지지 않는 경우에만 장치가 복원됩니다.
10.3. 파이버 채널 구성 파일 링크 복사링크가 클립보드에 복사되었습니다!
다음은 파이버 채널에 사용자 공간 API를 제공하는 /sys/class/ 디렉토리의 구성 파일 목록입니다.
항목은 다음 변수를 사용합니다.
H- 호스트 번호
B- 버스 번호
T- 대상
L- 논리 단위(LUN)
R- 원격 포트 번호
시스템이 다중 경로 소프트웨어를 사용하는 경우 이 섹션에 설명된 값을 변경하기 전에 하드웨어 공급 업체를 참조하십시오.
/sys/class/fc_transport/targetH 의 전송 구성 :B:T/
port_id- 24비트 포트 ID/주소
node_name- 64비트 노드 이름
port_name- 64비트 포트 이름
/sys/class/fc_remote_ports/rport-H 의 원격 포트 구성 :B-R/
-
port_id -
node_name -
port_name dev_loss_tmoscsi 장치가 시스템에서 제거되는 시기를 제어합니다.
dev_loss_tmo트리거 후 scsi 장치가 제거됩니다.multipath.conf파일에서dev_loss_tmo를 infinity로 설정할 수있습니다.Red Hat Enterprise Linux 8에서
fast_io_fail_tmo옵션을 설정하지 않으면dev_loss_tmo가600초로 제한됩니다. 기본적으로다중 경로서비스가 실행되는 경우 Red Hat Enterprise Linux 8에서fast_io_fail_tmo가5초로 설정됩니다. 그렇지 않으면 .fast_io_fail_tmo링크를 "bad"로 표시하기 전에 대기하는 시간(초)을 지정합니다. 링크가 유효하지 않은 것으로 표시되면 기존 실행 중인 I/O 또는 해당 경로에서 새 I/O가 실패합니다.
I/O가 차단된 큐에 있으면
dev_loss_tmo가 만료되고 큐가 차단 해제될 때까지 실패하지 않습니다.fast_io_fail_tmo가 off를 제외한 모든 값으로 설정되면dev_loss_tmo가 저장되지 않습니다.fast_io_fail_tmo를 off로 설정하면 시스템에서 장치를 제거할 때까지 I/O가 실패하지 않습니다.fast_io_fail_tmo를 숫자로 설정하면fast_io_fail_tmo시간 초과 트리거 시 I/O가 즉시 실패합니다.
/sys/class/fc_host/hostH의 호스트 설정
-
port_id -
node_name -
port_name issue_lip원격 포트를 다시 검색하도록 드라이버에 지시합니다.
11장. 이더넷을 통한 파이버 채널 구성 링크 복사링크가 클립보드에 복사되었습니다!
IEEE T11 FC-BB-5 표준을 기반으로 하는 FCoE(Fibre Channel over Ethernet)는 이더넷 네트워크를 통해 파이버 채널 프레임을 전송하는 프로토콜입니다. 일반적으로 데이터 센터에는 전용 LAN 및 SAN(Storage Area Network)이 있으며, 이 네트워크는 자체 구성으로 서로 분리되어 있습니다. FCoE는 이러한 네트워크를 하나의 통합 네트워크 구조로 결합합니다. FCoE의 이점은 하드웨어 및 에너지 비용을 절감하는 것입니다.
11.1. RHEL에서 하드웨어 FCoE HBA 사용 링크 복사링크가 클립보드에 복사되었습니다!
RHEL에서는 다음 드라이버에서 지원되는 하드웨어 Fibre Channel over Ethernet (FCoE) HBA(Host Bus Adapter)를 사용할 수 있습니다.
-
qedf -
bnx2fc -
fnic
이러한 HBA를 사용하는 경우 HBA 설정에 FCoE 설정을 구성합니다. 자세한 내용은 어댑터 설명서를 참조하십시오.
HBA를 구성한 후 SAN(Storage Area Network)에서 내보낸 LUN(Logical Unit Numbers)을 RHEL에서 /dev/sd* 장치로 자동으로 사용할 수 있습니다. 이러한 장치는 로컬 스토리지 장치와 유사하게 사용할 수 있습니다.
11.2. FCoE 장치 설정 링크 복사링크가 클립보드에 복사되었습니다!
FCoE 장치를 사용하여 FCoE 오프로드를 부분적으로 지원하는 이더넷 어댑터를 사용하여 FCoE를 통해 논리 단위 번호(LUN)에 액세스합니다.
RHEL은 fcoe.ko 커널 모듈이 필요한 소프트웨어 FCoE 장치를 지원하지 않습니다.
이 절차를 완료하면 SAN(Storage Area Network)에서 내보낸 LUN을 RHEL에서 /dev/sd* 장치로 자동으로 사용할 수 있습니다. 이러한 장치를 로컬 스토리지 장치와 유사한 방식으로 사용할 수 있습니다.
사전 요구 사항
- VLAN을 지원하도록 네트워크 스위치를 구성했습니다.
- SAN은 VLAN을 사용하여 스토리지 트래픽을 일반 이더넷 트래픽과 분리합니다.
- BIOS에서 서버의 HBA를 구성했습니다.
- HBA는 네트워크에 연결되어 있으며 링크는 가동 중입니다. 자세한 내용은 HBA 문서를 참조하십시오.
절차
fcoe-utils패키지를 설치합니다.yum install fcoe-utils
# yum install fcoe-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fcoe/cfg-ethx템플릿 파일을/etc/fcoe/cfg-interface_name에 복사합니다. 예를 들어 FCoE를 사용하도록enp1s0인터페이스를 구성하려면 다음 명령을 입력합니다.cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-enp1s0
# cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-enp1s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow fcoe서비스를 활성화하고 시작합니다.systemctl enable --now fcoe
# systemctl enable --now fcoeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인터페이스
enp1s0에서 FCoE VLAN을 검색하고, 검색된 VLAN에 대한 네트워크 장치를 생성하고, 이니시에이터를 시작합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 검색된 대상, LUN, LUN과 연결된 장치에 대한 세부 정보를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 SAN의 LUN 0이
/dev/sdb장치로 호스트에 연결되었음을 보여줍니다.
검증
모든 활성 FCoE 인터페이스에 대한 정보를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12장. eh_deadline을 사용하여 스토리지 오류 복구를 위한 최대 시간 구성 링크 복사링크가 클립보드에 복사되었습니다!
실패한 SCSI 장치를 복구하는 데 허용되는 최대 시간을 구성할 수 있습니다. 이 구성은 스토리지 하드웨어가 실패로 인해 응답하지 않게 되는 경우에도 I/O 응답 시간을 보장합니다.
12.1. eh_deadline 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
SCSI 오류 처리(EH) 메커니즘은 실패한 SCSI 장치에서 오류 복구를 시도합니다. SCSI 호스트 오브젝트 eh_deadline 매개변수를 사용하면 복구에 대한 최대 시간을 구성할 수 있습니다. 구성된 시간이 만료되면 SCSI EH는 전체 HBA(호스트 버스 어댑터)를 중지하고 재설정합니다.
eh_deadline 을 사용하면 시간을 줄일 수 있습니다.
- 오류가 발생한 경로를 종료하려면 다음을 수행합니다.
- 경로를 전환하거나
- RAID 슬라이스를 비활성화하려면 다음을 수행합니다.
eh_deadline 이 만료되면 SCSI EH는 HBA를 재설정하여 실패한 경로뿐만 아니라 해당 HBA의 모든 대상 경로에 영향을 미칩니다. 중복 경로 중 일부를 다른 이유로 사용할 수 없는 경우 I/O 오류가 발생할 수 있습니다. 모든 대상에 다중 경로가 구성된 경우에만 eh_deadline 을 활성화합니다. 또한 다중 경로 장치가 완전히 중복되지 않은 경우 no_path_retry 가 경로를 복구할 수 있을 만큼 충분히 크게 설정되어 있는지 확인해야 합니다.
eh_deadline 매개변수의 값은 초 단위로 지정됩니다. 기본 설정은 off 로, 시간 제한을 비활성화하고 모든 오류 복구를 허용합니다.
eh_deadline이 유용한 시나리오
대부분의 시나리오에서는 eh_deadline 을 활성화할 필요가 없습니다. eh_deadline 사용은 특정 시나리오에서 유용할 수 있습니다. 예를 들어 파이버 채널(FC) 스위치와 대상 포트 간에 링크 손실이 발생하고 HBA에 등록된 상태 변경 알림(RSCN)이 수신되지 않습니다. 이러한 경우 오류가 발생하는 대신 I/O 요청 및 오류 복구 명령이 항상 시간 초과됩니다. 이 환경에서 eh_deadline 을 설정하면 복구 시간에 상한이 적용됩니다. DM Multipath를 통해 사용 가능한 다른 경로에서 실패한 I/O를 재시도할 수 있습니다.
다음 조건에서 eh_deadline 매개 변수는 I/O 및 오류 복구 명령이 즉시 실패하므로 추가 이점을 제공하지 않으므로 DM Multipath를 다시 시도할 수 있습니다.
- RSCN이 활성화된 경우
- HBA가 링크를 등록할 수 없는 경우
12.2. eh_deadline 매개변수 설정 링크 복사링크가 클립보드에 복사되었습니다!
eh_deadline 매개변수 값을 구성하여 최대 SCSI 복구 시간을 제한할 수 있습니다.
절차
다음 방법 중 하나를 사용하여
eh_deadline을 구성할 수 있습니다.multpath.conf파일의defaults섹션multpath.conf파일의 defaults 섹션에서eh_deadline매개변수를 필요한 초 단위로 설정합니다.eh_deadline 300
# eh_deadline 300Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고RHEL 8.4에서
multpath.conf파일의 defaults 섹션을 사용하여eh_deadline매개 변수를 설정하는 것이 기본 방법입니다.이 메서드를 사용하여
eh_deadline매개 변수를 해제하려면eh_deadline을off로 설정합니다.sysfs/sys/class/scsi_host/host<host-number>/eh_deadline파일에 초 수를 작성합니다. 예를 들어 SCSI 호스트 6에서sysfs를 통해eh_deadline매개 변수를 설정하려면 다음을 수행합니다.echo 300 > /sys/class/scsi_host/host6/eh_deadline
# echo 300 > /sys/class/scsi_host/host6/eh_deadlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 메서드를 사용하여
eh_deadline매개 변수를 해제하려면 echooff를 사용합니다.커널 매개변수
scsi_mod._deadline커널 매개 변수를 사용하여 모든 SCSI HBA의 기본값을 설정합니다.echo 300 > /sys/module/scsi_mod/parameters/eh_deadline
# echo 300 > /sys/module/scsi_mod/parameters/eh_deadlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 메서드를 사용하여
eh_deadline매개 변수를 해제하려면 echo-1을 사용합니다.
13장. 스왑 시작하기 링크 복사링크가 클립보드에 복사되었습니다!
스왑 공간을 사용하여 비활성 프로세스 및 데이터에 임시 스토리지를 제공하고 물리적 메모리가 가득 차면 메모리 부족 오류를 방지합니다. 스왑 공간은 실제 메모리의 확장 기능 역할을 하며 물리적 메모리가 소진된 경우에도 시스템이 원활하게 계속 실행되도록 합니다. 스왑 공간을 사용하면 시스템 성능이 저하될 수 있으므로 스왑 공간을 사용하기 전에 물리적 메모리 사용을 최적화할 수 있습니다.
13.1. 스왑 공간 개요 링크 복사링크가 클립보드에 복사되었습니다!
Linux의 스왑 공간은 실제 메모리(RAM)의 양이 가득 차면 사용됩니다. 시스템에 더 많은 메모리 리소스가 필요하며 RAM이 가득 차면 메모리의 비활성 페이지가 스왑 공간으로 이동합니다. 스왑 공간은 적은 양의 RAM 시스템을 지원할 수 있지만 더 많은 RAM을 대체하는 것으로 간주해서는 안 됩니다.
스왑 공간은 하드 드라이브에 있으며, 물리적 메모리보다 액세스 시간이 더 느립니다. 스왑 공간은 전용 스왑 파티션(권장), 스왑 파일 또는 스왑 파티션과 스왑 파일의 조합일 수 있습니다.
지난 몇 년 동안 권장되는 스왑 공간은 시스템의 RAM 양과 선형으로 증가했습니다. 그러나 최신 시스템에는 수백 기가바이트의 RAM이 있는 경우가 많습니다. 결과적으로 권장 스왑 공간은 시스템 메모리가 아닌 시스템 메모리 워크로드의 기능으로 간주됩니다.
13.2. 권장되는 시스템 스왑 공간 링크 복사링크가 클립보드에 복사되었습니다!
스왑 파티션의 권장 크기는 시스템의 RAM 크기와 시스템이 hibernate에 충분한 메모리를 원하는지에 따라 달라집니다. 권장되는 스왑 파티션 크기는 설치 중에 자동으로 설정됩니다. 그러나 최대 절전 모드를 허용하려면 사용자 지정 파티션 단계에서 스왑 공간을 편집해야 합니다.
메모리 부족(예: 1GB 이하)에서 다음 권장 사항은 특히 중요합니다. 이러한 시스템에 충분한 스왑 공간을 할당하지 않으면 불안정과 같은 문제가 발생할 수 있거나 설치된 시스템을 부팅할 수 없게 될 수도 있습니다.
| 시스템의 RAM 크기 | 권장 스왑 공간 | 최대 절전 모드를 허용하는 경우 권장 스왑 공간 |
|---|---|---|
| ✓ 2GB | RAM의 2 배 | RAM의 3 배 |
| > 2 GB - 8 GB | RAM의 양과 같음 | RAM의 2 배 |
| > 8 GB - 64 GB | 최소 4GB | RAM의 1.5 배 |
| > 64 GB | 최소 4GB | 최대 절전 모드는 권장되지 않음 |
2GB, 8GB 또는 64GB의 시스템 RAM과 같은 경계 값의 경우 요구 사항 또는 기본 설정에 따라 스왑 크기를 선택합니다. 시스템 리소스가 허용하는 경우 스왑 공간을 늘리면 성능이 향상될 수 있습니다.
여러 스토리지 장치에 스왑 공간을 배포하면 특히 빠른 드라이브, 컨트롤러 및 인터페이스가 있는 시스템에서 스왑 공간 성능도 향상됩니다.
스왑 공간으로 할당된 파일 시스템 및 LVM2 볼륨은 수정 시 사용해서는 안 됩니다. 시스템 프로세스 또는 커널이 스왑 공간을 사용하는 경우 스왑을 수정하려고 하면 실패합니다. free 및 cat /proc/swaps 명령을 사용하여 스왑 크기 및 사용 위치를 확인합니다.
스왑 공간 크기를 조정하려면 시스템에서 일시적으로 제거해야 합니다. 실행 중인 애플리케이션이 추가 스왑 공간을 사용하고 메모리 부족 상태로 실행될 경우 문제가 될 수 있습니다. 복구 모드에서 스왑 크기 조정을 수행하는 것이 좋습니다. 디버그 부팅 옵션을 참조하십시오. 파일 시스템을 마운트하라는 메시지가 표시되면 을 선택합니다.
13.3. 스왑용 LVM2 논리 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
스왑에 사용할 LVM2 논리 볼륨을 만들 수 있습니다. /dev/VolGroup00/LogVol02 가 추가할 스왑 볼륨이라고 가정합니다.
사전 요구 사항
- 디스크 공간이 충분합니다.
절차
크기가 2GB 인 LVM2 논리 볼륨 만들기:
lvcreate VolGroup00 -n LogVol02 -L 2G
# lvcreate VolGroup00 -n LogVol02 -L 2GCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 스왑 공간을 포맷합니다.
mkswap /dev/VolGroup00/LogVol02
# mkswap /dev/VolGroup00/LogVol02Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstab파일에 다음 항목을 추가합니다./dev/VolGroup00/LogVol02 none swap defaults 0 0
/dev/VolGroup00/LogVol02 none swap defaults 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템이 새 구성을 등록하도록 마운트 유닛을 다시 생성합니다.
systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 논리 볼륨에서 스왑을 활성화합니다.
swapon -v /dev/VolGroup00/LogVol02
# swapon -v /dev/VolGroup00/LogVol02Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
스왑 논리 볼륨이 성공적으로 생성 및 활성화되었는지 테스트하려면 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.
cat /proc/swaps total used free shared buff/cache available Mem: 30Gi 1.2Gi 28Gi 12Mi 994Mi 28Gi Swap: 22Gi 0B 22Gi# cat /proc/swaps total used free shared buff/cache available Mem: 30Gi 1.2Gi 28Gi 12Mi 994Mi 28Gi Swap: 22Gi 0B 22GiCopy to Clipboard Copied! Toggle word wrap Toggle overflow free -h
# free -h total used free shared buff/cache available Mem: 30Gi 1.2Gi 28Gi 12Mi 995Mi 28Gi Swap: 17Gi 0B 17GiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.4. 스왑 파일 생성 링크 복사링크가 클립보드에 복사되었습니다!
스왑 파일을 만들어 시스템이 메모리에서 부족해지는 경우 솔리드 스테이트 드라이브 또는 하드 디스크에 임시 스토리지 공간을 만들 수 있습니다.
사전 요구 사항
- 디스크 공간이 충분합니다.
절차
- 새 스왑 파일의 크기를 메가바이트 단위로 결정하고 1024를 곱하여 블록 수를 결정합니다. 예를 들어 64MB의 스왑 파일의 블록 크기는 65536입니다.
빈 파일을 생성합니다.
dd if=/dev/zero of=/swapfile bs=1024 count=65536
# dd if=/dev/zero of=/swapfile bs=1024 count=65536Copy to Clipboard Copied! Toggle word wrap Toggle overflow 65536 을 필요한 블록 크기와 동일한 값으로 바꿉니다.
명령으로 스왑 파일을 설정합니다.
mkswap /swapfile
# mkswap /swapfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스왑 파일의 보안을 읽을 수 없도록 변경합니다.
chmod 0600 /swapfile
# chmod 0600 /swapfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 부팅 시 스왑 파일을 활성화하려면 다음 항목으로
/etc/fstab파일을 편집합니다./swapfile none swap defaults 0 0
/swapfile none swap defaults 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음에 시스템이 부팅될 때 새 스왑 파일을 활성화합니다.
시스템이 새
/etc/fstab구성을 등록하도록 마운트 유닛을 다시 생성합니다.systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스왑 파일을 즉시 활성화합니다.
swapon /swapfile
# swapon /swapfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 스왑 파일이 성공적으로 생성 및 활성화되었는지 테스트하려면 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.
cat /proc/swaps
$ cat /proc/swapsCopy to Clipboard Copied! Toggle word wrap Toggle overflow free -h
$ free -hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.5. 스토리지 RHEL 시스템 역할을 사용하여 스왑 볼륨 생성 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Ansible 플레이북의 예를 제공합니다. 이 플레이북은 기본 매개 변수를 사용하여 블록 장치에서 스왑 볼륨을 생성하거나 스왑 볼륨이 없는 경우 스왑 볼륨을 수정하는 데 스토리지 역할을 적용합니다.
사전 요구 사항
- 컨트롤 노드와 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨 이름(예의
swap_fs)은 현재 임의적입니다.스토리지역할은disks:속성 아래에 나열된 디스크 장치에서 볼륨을 식별합니다.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.6. LVM2 논리 볼륨에서 스왑 확장 링크 복사링크가 클립보드에 복사되었습니다!
기존 LVM2 논리 볼륨에서 스왑 공간을 확장할 수 있습니다. /dev/VolGroup00/LogVol01 이 2GB 로 확장할 볼륨이라고 가정합니다.
사전 요구 사항
- 디스크 공간이 충분합니다.
절차
연결된 논리 볼륨의 스왑을 비활성화합니다.
swapoff -v /dev/VolGroup00/LogVol01
# swapoff -v /dev/VolGroup00/LogVol01Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVM2 논리 볼륨의 크기를 2GB 로 조정합니다.
lvresize /dev/VolGroup00/LogVol01 -L +2G
# lvresize /dev/VolGroup00/LogVol01 -L +2GCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 스왑 공간을 포맷합니다.
mkswap /dev/VolGroup00/LogVol01
# mkswap /dev/VolGroup00/LogVol01Copy to Clipboard Copied! Toggle word wrap Toggle overflow 확장 논리 볼륨을 활성화합니다.
swapon -v /dev/VolGroup00/LogVol01
# swapon -v /dev/VolGroup00/LogVol01Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
스왑 논리 볼륨이 성공적으로 확장 및 활성화되었는지 테스트하려면 활성 스왑 공간을 검사합니다.
cat /proc/swaps Filename Type Size Used Priority /dev/dm-1 partition 16322556 0 -2 /dev/dm-4 partition 7340028 0 -3
# cat /proc/swaps Filename Type Size Used Priority /dev/dm-1 partition 16322556 0 -2 /dev/dm-4 partition 7340028 0 -3Copy to Clipboard Copied! Toggle word wrap Toggle overflow free -h
# free -h total used free shared buff/cache available Mem: 30Gi 1.2Gi 28Gi 12Mi 994Mi 28Gi Swap: 22Gi 0B 22GiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.7. LVM2 논리 볼륨의 스왑 감소 링크 복사링크가 클립보드에 복사되었습니다!
LVM2 논리 볼륨에서 스왑을 줄일 수 있습니다. /dev/VolGroup00/LogVol01 이 축소할 볼륨이라고 가정합니다.
절차
연결된 논리 볼륨의 스왑을 비활성화합니다.
swapoff -v /dev/VolGroup00/LogVol01
# swapoff -v /dev/VolGroup00/LogVol01Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스왑 서명을 정리합니다.
wipefs -a /dev/VolGroup00/LogVol01
# wipefs -a /dev/VolGroup00/LogVol01Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVM2 논리 볼륨을 512MB로 줄입니다.
lvreduce /dev/VolGroup00/LogVol01 -L -512M
# lvreduce /dev/VolGroup00/LogVol01 -L -512MCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 스왑 공간을 포맷합니다.
mkswap /dev/VolGroup00/LogVol01
# mkswap /dev/VolGroup00/LogVol01Copy to Clipboard Copied! Toggle word wrap Toggle overflow 논리 볼륨에서 스왑을 활성화합니다.
swapon -v /dev/VolGroup00/LogVol01
# swapon -v /dev/VolGroup00/LogVol01Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
스왑 논리 볼륨이 성공적으로 감소했는지 테스트하려면 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.
cat /proc/swaps
$ cat /proc/swapsCopy to Clipboard Copied! Toggle word wrap Toggle overflow free -h
$ free -hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.8. 스왑용 LVM2 논리 볼륨 제거 링크 복사링크가 클립보드에 복사되었습니다!
스왑의 LVM2 논리 볼륨을 제거할 수 있습니다. /dev/VolGroup00/LogVol02 가 삭제하려는 스왑 볼륨이라고 가정합니다.
절차
연결된 논리 볼륨의 스왑을 비활성화합니다.
swapoff -v /dev/VolGroup00/LogVol02
# swapoff -v /dev/VolGroup00/LogVol02Copy to Clipboard Copied! Toggle word wrap Toggle overflow LVM2 논리 볼륨을 제거합니다.
lvremove /dev/VolGroup00/LogVol02
# lvremove /dev/VolGroup00/LogVol02Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstab파일에서 다음 관련 항목을 제거합니다./dev/VolGroup00/LogVol02 none swap defaults 0 0
/dev/VolGroup00/LogVol02 none swap defaults 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 마운트 장치를 다시 생성하여 새 구성을 등록합니다.
systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
논리 볼륨이 성공적으로 제거되었는지 테스트합니다. 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.
cat /proc/swaps
$ cat /proc/swapsCopy to Clipboard Copied! Toggle word wrap Toggle overflow free -h
$ free -hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.9. 스왑 파일 제거 링크 복사링크가 클립보드에 복사되었습니다!
스왑 파일을 제거할 수 있습니다.
절차
/swapfile스왑 파일을 비활성화합니다.swapoff -v /swapfile
# swapoff -v /swapfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
그에 따라
/etc/fstab파일에서 해당 항목을 제거합니다. 시스템이 새 구성을 등록하도록 마운트 유닛을 다시 생성합니다.
systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 실제 파일을 제거합니다.
rm /swapfile
# rm /swapfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
14장. 패브릭 장치 이상의 NVMe 개요 링크 복사링크가 클립보드에 복사되었습니다!
NVMe(Non-volatile Memory Express™)는 호스트 소프트웨어 유틸리티가 솔리드 스테이트 드라이브와 통신할 수 있는 인터페이스입니다.
다음 유형의 패브릭 전송을 사용하여 패브릭 장치를 통해 NVMe를 구성합니다.
- NVMe over Remote Direct Memory Access (NVMe/RDMA)
- NVMe™/RDMA를 구성하는 방법에 대한 자세한 내용은 NVMe/RDMA 를 사용하여 패브릭을 통해 NVMe 구성 을 참조하십시오.
- NVMe/FC(NVMe over Fibre Channel)
- NVMe™/FC 구성 방법에 대한 자세한 내용은 NVMe/FC 를 사용하여 패브릭을 통해 NVMe 구성 을 참조하십시오.
NVMe over fabrics를 사용하는 경우 솔리드 스테이트 드라이브는 시스템에 로컬일 필요가 없으며 NVMe over fabrics 장치를 통해 원격으로 구성할 수 있습니다.
15장. NVMe/RDMA를 사용하여 패브릭을 통해 NVMe 구성 링크 복사링크가 클립보드에 복사되었습니다!
NVMe(Non-volatile Memory Express™) over RDMA(NVMe™/RDMA) 설정에서 NVMe 컨트롤러와 NVMe 이니시에이터를 구성합니다.
15.1. configfs를 사용하여 NVMe/RDMA 컨트롤러 설정 링크 복사링크가 클립보드에 복사되었습니다!
configfs 를 사용하여 RDMA(NVMe™/RDMA)를 통해 NVMe(Non-volatile Memory Express™) 컨트롤러를 구성할 수 있습니다.
사전 요구 사항
-
nvmet하위 시스템에 할당할 블록 장치가 있는지 확인합니다.
절차
nvmet-rdma하위 시스템을 생성합니다.modprobe nvmet-rdma mkdir /sys/kernel/config/nvmet/subsystems/testnqn cd /sys/kernel/config/nvmet/subsystems/testnqn
# modprobe nvmet-rdma # mkdir /sys/kernel/config/nvmet/subsystems/testnqn # cd /sys/kernel/config/nvmet/subsystems/testnqnCopy to Clipboard Copied! Toggle word wrap Toggle overflow testnqn 을 하위 시스템 이름으로 교체합니다.
모든 호스트가 이 컨트롤러에 연결할 수 있도록 허용합니다.
echo 1 > attr_allow_any_host
# echo 1 > attr_allow_any_hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스를 구성합니다.
mkdir namespaces/10 cd namespaces/10
# mkdir namespaces/10 # cd namespaces/10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스 번호로 10 을 바꿉니다.
NVMe 장치의 경로를 설정합니다.
echo -n /dev/nvme0n1 > device_path
# echo -n /dev/nvme0n1 > device_pathCopy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스를 활성화합니다.
echo 1 > enable
# echo 1 > enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow NVMe 포트를 사용하여 디렉터리를 생성합니다.
mkdir /sys/kernel/config/nvmet/ports/1 cd /sys/kernel/config/nvmet/ports/1
# mkdir /sys/kernel/config/nvmet/ports/1 # cd /sys/kernel/config/nvmet/ports/1Copy to Clipboard Copied! Toggle word wrap Toggle overflow mlx5_ib0 의 IP 주소를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨트롤러의 전송 주소를 설정합니다.
echo -n 172.31.0.202 > addr_traddr
# echo -n 172.31.0.202 > addr_traddrCopy to Clipboard Copied! Toggle word wrap Toggle overflow RDMA를 전송 유형으로 설정합니다.
echo rdma > addr_trtype echo 4420 > addr_trsvcid
# echo rdma > addr_trtype # echo 4420 > addr_trsvcidCopy to Clipboard Copied! Toggle word wrap Toggle overflow 포트에 대한 주소 제품군을 설정합니다.
echo ipv4 > addr_adrfam
# echo ipv4 > addr_adrfamCopy to Clipboard Copied! Toggle word wrap Toggle overflow 소프트 링크를 생성합니다.
ln -s /sys/kernel/config/nvmet/subsystems/testnqn /sys/kernel/config/nvmet/ports/1/subsystems/testnqn
# ln -s /sys/kernel/config/nvmet/subsystems/testnqn /sys/kernel/config/nvmet/ports/1/subsystems/testnqnCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
NVMe 컨트롤러가 지정된 포트에서 수신하고 연결 요청을 준비했는지 확인합니다.
dmesg | grep "enabling port"
# dmesg | grep "enabling port" [ 1091.413648] nvmet_rdma: enabling port 1 (172.31.0.202:4420)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2. nvmetcli를 사용하여 NVMe/RDMA 컨트롤러 설정 링크 복사링크가 클립보드에 복사되었습니다!
nvmetcli 유틸리티를 사용하여 NVMe™(NVMe™/RDMA) 컨트롤러를 통해 NVMe(Non-volatile Memory Express™) 컨트롤러를 구성할 수 있습니다. nvmetcli 유틸리티는 명령줄과 대화형 쉘 옵션을 제공합니다.
사전 요구 사항
-
nvmet하위 시스템에 할당할 블록 장치가 있는지 확인합니다. -
다음
nvmetcli작업을 루트 사용자로 실행합니다.
절차
nvmetcli패키지를 설치합니다.yum install nvmetcli
# yum install nvmetcliCopy to Clipboard Copied! Toggle word wrap Toggle overflow rdma.json파일을 다운로드합니다.wget http://git.infradead.org/users/hch/nvmetcli.git/blob_plain/0a6b088db2dc2e5de11e6f23f1e890e4b54fee64:/rdma.json
# wget http://git.infradead.org/users/hch/nvmetcli.git/blob_plain/0a6b088db2dc2e5de11e6f23f1e890e4b54fee64:/rdma.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
rdma.json파일을 편집하고traddr값을172.31.0.202로 변경합니다. NVMe 컨트롤러 구성 파일을 로드하여 컨트롤러를 설정합니다.
nvmetcli restore rdma.json
# nvmetcli restore rdma.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
NVMe 컨트롤러 구성 파일 이름이 지정되지 않은 경우 nvmetcli 는 /etc/nvmet/config.json 파일을 사용합니다.
검증
NVMe 컨트롤러가 지정된 포트에서 수신하고 연결 요청을 준비했는지 확인합니다.
dmesg | tail -1
# dmesg | tail -1 [ 4797.132647] nvmet_rdma: enabling port 2 (172.31.0.202:4420)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 현재 NVMe 컨트롤러를 지웁니다.
nvmetcli clear
# nvmetcli clearCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.3. NVMe/RDMA 호스트 구성 링크 복사링크가 클립보드에 복사되었습니다!
nvme-cli) 툴을 사용하여 RDMA(NVMe™/RDMA)를 통해 NVMe(Non-volatile Memory Express™) 호스트를 구성할 수 있습니다.
절차
nvme-cli툴을 설치합니다.yum install nvme-cli
# yum install nvme-cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 로드되지 않은 경우
nvme-rdma모듈을 로드합니다.modprobe nvme-rdma
# modprobe nvme-rdmaCopy to Clipboard Copied! Toggle word wrap Toggle overflow NVMe 컨트롤러에서 사용 가능한 하위 시스템을 검색합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 검색된 하위 시스템에 연결합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow testnqn 을 NVMe 하위 시스템 이름으로 교체합니다.
172.31.0.202 를 컨트롤러 IP 주소로 바꿉니다.
4420 을 포트 번호로 바꿉니다.
검증
현재 연결된 NVMe 장치를 나열합니다.
nvme list
# nvme listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 컨트롤러에서 연결을 끊습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16장. NVMe/FC를 사용하여 NVMe over fabric 구성 링크 복사링크가 클립보드에 복사되었습니다!
특정 Broadcom Emulex 및 Marvell Qlogic 파이버 채널 어댑터와 함께 사용할 때 NVMee™(Non-volatile Memory Express™) over Fibre Channel은 호스트 모드에서 완전히 지원됩니다.
16.1. Broadcom 어댑터를 위한 NVMe 호스트 구성 링크 복사링크가 클립보드에 복사되었습니다!
NVMe 관리 명령줄 인터페이스(nvme-cli) 유틸리티를 사용하여 Broadcom 어댑터로 NVMe(NVMe™) 호스트를 구성할 수 있습니다.
절차
nvme-cli유틸리티를 설치합니다.yum install nvme-cli
# yum install nvme-cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면
/etc/nvme/디렉터리에hostnqn파일이 생성됩니다.hostnqn파일은 NVMe 호스트를 식별합니다.로컬 및 원격 포트의 WWNN(World Wide Node Name) 및 WWPN(World Wide Port Name) 식별자를 찾습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한
host-traddr및traddr값을 사용하여 하위 시스템 NVMe(NQN)를 찾습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 을
traddr로 바꿉니다.Replace nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 를
host-traddr로 바꿉니다.nvme-cli를 사용하여 NVMe 컨트롤러에 연결합니다.nvme connect --transport fc \ --traddr nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 \ --host-traddr nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 \ -n nqn.1992-08.com.netapp:sn.e18bfca87d5e11e98c0800a098cbcac6:subsystem.st14_nvme_ss_1_1 \ -k 5# nvme connect --transport fc \ --traddr nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 \ --host-traddr nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 \ -n nqn.1992-08.com.netapp:sn.e18bfca87d5e11e98c0800a098cbcac6:subsystem.st14_nvme_ss_1_1 \ -k 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고연결 시간이 기본
keep-alive 시간 초과 값을 초과하면오류가 표시됩니다. 예를 들어,-k옵션을 사용하여 keep-alive 타이머(5초) expired!-k 7을 사용할 수 있습니다.여기,
Replace nn-0x204600a098cbcac6:pn-0x204700a098cbcac6 을
traddr로 바꿉니다.Replace nn-0x20000090fae0b5f5:pn-0x10000090fae0b5f5 를
host-traddr로 바꿉니다.nqn.1992-08.com.netapp:sn.e18bfca87d5e11e98c0800a098cbcac6:subsystem.st14_nvme_ss_1_1 을
subnqn으로 바꿉니다.5 를 keep-alive 시간 초과 값으로 초 단위로 바꿉니다.
검증
현재 연결된 NVMe 장치를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
16.2. QLogic 어댑터용 NVMe 호스트 구성 링크 복사링크가 클립보드에 복사되었습니다!
NVMe 관리 명령줄 인터페이스(nvme-cli) 유틸리티를 사용하여 Qlogic 어댑터로 NVMe(Non-volatile Memory Express™) 호스트를 구성할 수 있습니다.
절차
nvme-cli유틸리티를 설치합니다.yum install nvme-cli
# yum install nvme-cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면
/etc/nvme/디렉터리에hostnqn파일이 생성됩니다.hostnqn파일은 NVMe 호스트를 식별합니다.qla2xxx모듈을 다시 로드합니다.modprobe -r qla2xxx modprobe qla2xxx
# modprobe -r qla2xxx # modprobe qla2xxxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 로컬 및 원격 포트의 WWNN(World Wide Node Name) 및 WWPN(World Wide Port Name) 식별자를 찾습니다.
dmesg |grep traddr
# dmesg |grep traddr [ 6.139862] qla2xxx [0000:04:00.0]-ffff:0: register_localport: host-traddr=nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 on portID:10700 [ 6.241762] qla2xxx [0000:04:00.0]-2102:0: qla_nvme_register_remote: traddr=nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 PortID:01050dCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한
host-traddr및traddr값을 사용하여 하위 시스템 NVMe(NQN)를 찾습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 을
traddr로 바꿉니다.Replace nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 를
host-traddr로 바꿉니다.nvme-cli도구를 사용하여 NVMe 컨트롤러에 연결합니다.nvme connect --transport fc \ --traddr nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 \ --host-traddr nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 \ -n nqn.1992-08.com.netapp:sn.c9ecc9187b1111e98c0800a098cbcac6:subsystem.vs_nvme_multipath_1_subsystem_468\ -k 5# nvme connect --transport fc \ --traddr nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 \ --host-traddr nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 \ -n nqn.1992-08.com.netapp:sn.c9ecc9187b1111e98c0800a098cbcac6:subsystem.vs_nvme_multipath_1_subsystem_468\ -k 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고연결 시간이 기본
keep-alive 시간 초과 값을 초과하면오류가 표시됩니다. 예를 들어,-k옵션을 사용하여 keep-alive 타이머(5초) expired!-k 7을 사용할 수 있습니다.여기,
Replace nn-0x203b00a098cbcac6:pn-0x203d00a098cbcac6 을
traddr로 바꿉니다.Replace nn-0x20000024ff19bb62:pn-0x21000024ff19bb62 를
host-traddr로 바꿉니다.nqn.1992-08.com.netapp:sn.c9ecc9187b1111e98c0800a098cbcac6:subsystem.vs_nvme_multipath_1_subsystem_468 을
subnqn으로 바꿉니다.5 를 keep-live 제한 값으로 초 단위로 바꿉니다.
검증
현재 연결된 NVMe 장치를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17장. NVMe 장치에서 다중 경로 활성화 링크 복사링크가 클립보드에 복사되었습니다!
FCP(Fibre Channel)와 같은 패브릭 전송을 통해 시스템에 연결된 NVMe™(Non-volatile Memory Express™) 장치를 멀티패스할 수 있습니다. 여러 다중 경로 솔루션 중에서 선택할 수 있습니다.
17.1. 네이티브 NVMe 멀티패스 및 DM Multipath 링크 복사링크가 클립보드에 복사되었습니다!
NVMe(Non-Volatile Memory Express™) 장치는 기본 다중 경로 기능을 지원합니다. NVMe에서 다중 경로를 구성할 때 표준 DM Multipath 프레임워크와 네이티브 NVMe 다중 경로 중 하나를 선택할 수 있습니다.
DM Multipath 및 네이티브 NVMe 다중 경로는 NVMe 장치의 ANA(Asymmetric Namespace Access) 다중 경로 체계를 지원합니다. ANA는 컨트롤러와 호스트 간의 최적화된 경로를 식별하고 성능을 향상시킵니다.
네이티브 NVMe 다중 경로가 활성화되면 모든 NVMe 장치에 전역적으로 적용됩니다. 더 높은 성능을 제공할 수 있지만 DM Multipath에서 제공하는 모든 기능을 포함하지는 않습니다. 예를 들어 기본 NVMe 다중 경로에서는 numa 및 round-robin 경로 선택 방법만 지원합니다.
Red Hat Enterprise Linux 8에서 DM Multipath를 기본 다중 경로 솔루션으로 사용하는 것이 좋습니다.
17.2. 네이티브 NVMe 다중 경로 활성화 링크 복사링크가 클립보드에 복사되었습니다!
nvme_core.multipath 옵션의 기본 커널 설정은 N.로 설정되어 있습니다. 즉, 기본 NVMe(Non-volatile Memory Express™) 다중 경로가 비활성화됩니다. 네이티브 NVMe 다중 경로 솔루션을 사용하여 기본 NVMe 멀티패스를 활성화할 수 있습니다.
사전 요구 사항
- NVMe 장치가 시스템에 연결되어 있습니다. 자세한 내용은 패브릭 장치를 통한 NVMe 개요 를 참조하십시오.
절차
커널에서 기본 NVMe 다중 경로가 활성화되어 있는지 확인합니다.
cat /sys/module/nvme_core/parameters/multipath
# cat /sys/module/nvme_core/parameters/multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령은 다음 중 하나를 표시합니다.
N- 기본 NVMe 다중 경로가 비활성화되어 있습니다.
Y- 네이티브 NVMe 다중 경로가 활성화되어 있습니다.
네이티브 NVMe 멀티패스가 비활성화된 경우 다음 방법 중 하나를 사용하여 활성화합니다.
커널 옵션 사용:
nvme_core.multipath=Y옵션을 명령줄에 추가합니다.grubby --update-kernel=ALL --args="nvme_core.multipath=Y"
# grubby --update-kernel=ALL --args="nvme_core.multipath=Y"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 64비트 IBM Z 아키텍처에서 부팅 메뉴를 업데이트합니다.
zipl
# ziplCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 시스템을 재부팅합니다.
커널 모듈 구성 파일 사용:
다음 콘텐츠를 사용하여
/etc/modprobe.d/nvme_core.conf구성 파일을 만듭니다.options nvme_core multipath=Y
options nvme_core multipath=YCopy to Clipboard Copied! Toggle word wrap Toggle overflow initramfs파일을 백업합니다.cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow initramfs를 다시 빌드합니다.dracut --force --verbose
# dracut --force --verboseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 시스템을 재부팅합니다.
선택 사항: 실행 중인 시스템에서 NVMe 장치의 I/O 정책을 변경하여 사용 가능한 모든 경로에서 I/O를 배포합니다.
echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
# echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항:
udev규칙을 사용하여 I/O 정책을 영구적으로 설정합니다. 다음 콘텐츠를 사용하여/etc/udev/rules.d/71-nvme-io-policy.rules파일을 만듭니다.ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
시스템이 NVMe 장치를 인식하는지 확인합니다. 다음 예제에서는 두 개의 NVMe 네임스페이스가 있는 패브릭 스토리지 하위 시스템에 연결된 NVMe가 있다고 가정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결된 모든 NVMe 하위 시스템을 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 활성 전송 유형을 확인합니다. 예를 들어
nvme0 fc는 장치가 파이버 채널 전송을 통해 연결되어 있음을 나타내며nvme tcp는 장치가 TCP를 통해 연결되어 있음을 나타냅니다.커널 옵션을 편집한 경우 커널 명령 줄에서 네이티브 NVMe 멀티패스가 활성화되어 있는지 확인합니다.
cat /proc/cmdline BOOT_IMAGE=[...] nvme_core.multipath=Y
# cat /proc/cmdline BOOT_IMAGE=[...] nvme_core.multipath=YCopy to Clipboard Copied! Toggle word wrap Toggle overflow I/O 정책을 변경한 경우 NVMe 장치에서
라운드 로빈이 활성 I/O 정책인지 확인합니다.cat /sys/class/nvme-subsystem/nvme-subsys0/iopolicy round-robin
# cat /sys/class/nvme-subsystem/nvme-subsys0/iopolicy round-robinCopy to Clipboard Copied! Toggle word wrap Toggle overflow
17.3. NVMe 장치에서 DM Multipath 활성화 링크 복사링크가 클립보드에 복사되었습니다!
네이티브 NVMe 멀티패스를 비활성화하여 연결된 NVMe 장치에서 DM Multipath를 활성화할 수 있습니다.
사전 요구 사항
- NVMe 장치가 시스템에 연결되어 있습니다. 자세한 내용은 패브릭 장치를 통한 NVMe 개요 를 참조하십시오.
절차
네이티브 NVMe 멀티패스가 비활성화되어 있는지 확인합니다.
cat /sys/module/nvme_core/parameters/multipath
# cat /sys/module/nvme_core/parameters/multipathCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령은 다음 중 하나를 표시합니다.
N- 기본 NVMe 다중 경로가 비활성화되어 있습니다.
Y- 네이티브 NVMe 다중 경로가 활성화되어 있습니다.
네이티브 NVMe 멀티패스를 활성화하면 다음 방법 중 하나를 사용하여 비활성화합니다.
커널 옵션 사용:
커널 명령줄에서
nvme_core.multipath=Y옵션을 제거합니다.grubby --update-kernel=ALL --remove-args="nvme_core.multipath=Y"
# grubby --update-kernel=ALL --remove-args="nvme_core.multipath=Y"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 64비트 IBM Z 아키텍처에서 부팅 메뉴를 업데이트합니다.
zipl
# ziplCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 시스템을 재부팅합니다.
커널 모듈 구성 파일 사용:
-
/etc/modprobe.d/nvme_core.conf파일에서nvme_core multipath=Y옵션 행을 제거합니다. initramfs파일을 백업합니다.cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m%d-%H%M%S).img
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m%d-%H%M%S).imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow initramfs를 다시 빌드합니다.cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img dracut --force --verbose
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img # dracut --force --verboseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 시스템을 재부팅합니다.
-
DM Multipath를 활성화합니다.
systemctl enable --now multipathd.service
# systemctl enable --now multipathd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용 가능한 모든 경로에 I/O를 배포합니다.
/etc/multipath.conf파일에 다음 내용을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고DM Multipath가 NVMe 장치를 관리할 때
/sys/class/nvme-subsys0/iopolicy구성 파일은 I/O 배포에 영향을 미치지 않습니다.multipathd서비스를 다시 로드하여 구성 변경 사항을 적용합니다.multipath -r
# multipath -rCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
네이티브 NVMe 멀티패스가 비활성화되어 있는지 확인합니다.
cat /sys/module/nvme_core/parameters/multipath N
# cat /sys/module/nvme_core/parameters/multipath NCopy to Clipboard Copied! Toggle word wrap Toggle overflow DM 다중 경로가 nvme 장치를 인식하는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18장. 디스크 스케줄러 설정 링크 복사링크가 클립보드에 복사되었습니다!
디스크 스케줄러는 스토리지 장치에 제출된 I/O 요청을 주문합니다.
여러 가지 방법으로 스케줄러를 구성할 수 있습니다.
Red Hat Enterprise Linux 8에서 블록 장치는 다중 대기열 스케줄링만 지원합니다. 이를 통해 솔리드 스테이트 드라이브(SSD) 및 멀티 코어 시스템으로 블록 계층 성능을 확장할 수 있습니다.
Red Hat Enterprise Linux 7 및 이전 버전에서 사용할 수 있는 기존의 단일 대기열 스케줄러가 제거되었습니다.
18.1. 사용 가능한 디스크 스케줄러 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 8에서는 다음과 같은 멀티 큐 디스크 스케줄러가 지원됩니다.
none- FIFO(선입선출) 스케줄링 알고리즘을 구현합니다. 간단한 마지막 캐시를 통해 일반 블록 계층의 요청을 병합합니다.
mq-deadline요청이 스케줄러에 도달하는 시점의 요청에 대해 보장된 대기 시간을 제공합니다.
mq-deadline스케줄러는 대기 중인 I/O 요청을 읽기 또는 쓰기 배치로 정렬한 다음, 논리 블록 주소 지정(LBA) 순서를 늘리도록 실행하도록 예약합니다. 애플리케이션이 읽기 I/O 작업에서 차단될 가능성이 높기 때문에 기본적으로 읽기 배치는 쓰기 배치보다 우선합니다.mq-deadline이 배치를 처리한 후 쓰기 작업이 프로세서 시간이 지난 시간을 확인하고 다음 읽기 또는 쓰기 배치를 적절하게 예약합니다.이 스케줄러는 대부분의 사용 사례에 적합하지만 특히 쓰기 작업이 주로 비동기식으로 사용됩니다.
bfq데스크탑 시스템 및 대화형 작업을 대상으로 합니다.
bfq스케줄러는 단일 애플리케이션이 모든 대역폭을 사용하지 않도록 합니다. 결과적으로 스토리지 장치는 항상 유휴 상태인 것처럼 반응합니다. 기본 구성에서bfq는 최대 처리량을 달성하는 대신 가장 낮은 대기 시간을 전달하는 데 중점을 둡니다.BFQ는cfq코드를 기반으로 합니다. 고정 시간 슬라이스의 각 프로세스에 대해 디스크를 부여하지 않지만 섹터 수에서 측정된 예산을 프로세스에 할당합니다.이 스케줄러는 대용량 파일을 복사하는 동안 적합하며 이 경우 시스템이 응답하지 않습니다.
kyber스케줄러는 블록 I/O 계층에 제출된 모든 I/O 요청 대기 시간을 계산하여 대기 시간 목표를 달성하도록 자체적으로 조정합니다. 캐시 누락 및 동기 쓰기 요청의 경우 읽기, 에 대한 대상 대기 시간을 구성할 수 있습니다.
이 스케줄러는 NVMe, SSD 또는 기타 짧은 대기 시간이 짧은 장치 등 빠른 장치에 적합합니다.
18.2. 다양한 사용 사례에 맞는 다른 디스크 스케줄러 링크 복사링크가 클립보드에 복사되었습니다!
시스템에서 수행하는 작업에 따라 분석 및 튜닝 작업 전에 다음 디스크 스케줄러를 기준으로 사용하는 것이 좋습니다.
| 사용 사례 | 디스크 스케줄러 |
|---|---|
| SCSI 인터페이스가 있는 기존 HDD |
|
| 고성능 SSD 또는 빠른 스토리지가 있는 CPU 바운드 시스템 |
특히 엔터프라이즈 애플리케이션을 실행할 때는 |
| 데스크탑 또는 대화형 작업 |
|
| 가상 게스트 |
|
18.3. 기본 디스크 스케줄러 링크 복사링크가 클립보드에 복사되었습니다!
블록 장치는 다른 스케줄러를 지정하지 않는 한 기본 디스크 스케줄러를 사용합니다.
특히 비volatile Memory Express(NVMe) 블록 장치의 경우 기본 스케줄러는 none 이며 Red Hat은 변경하지 않는 것이 좋습니다.
커널은 장치 유형에 따라 기본 디스크 스케줄러를 선택합니다. 자동 선택된 스케줄러는 일반적으로 최적의 설정입니다. 다른 스케줄러가 필요한 경우 Red Hat은 udev 규칙 또는 TuneD 애플리케이션을 사용하여 구성하는 것이 좋습니다. 선택한 장치와 일치하고 해당 장치에 대해서만 스케줄러를 전환합니다.
18.4. 활성 디스크 스케줄러 확인 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 지정된 블록 장치에서 현재 활성화된 디스크 스케줄러를 결정합니다.
절차
/sys/block/device/queue/scheduler파일의 내용을 읽습니다.cat /sys/block/device/queue/scheduler [mq-deadline] kyber bfq none
# cat /sys/block/device/queue/scheduler [mq-deadline] kyber bfq noneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 이름에서 device 를 exampledc의 블록 장치 이름으로
바꿉니다.활성 스케줄러는 대괄호([
])로 나열됩니다.
18.5. TuneD를 사용하여 디스크 스케줄러 설정 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 선택한 블록 장치에 지정된 디스크 스케줄러를 설정하는 TuneD 프로필을 생성하고 활성화합니다. 이 설정은 시스템을 재부팅해도 유지됩니다.
다음 명령 및 구성에서 교체합니다.
-
블록 장치의 이름이 있는 장치(예:
sdf) -
장치에 설정할 디스크 스케줄러가 있는 select -scheduler (예:
bfq)
사전 요구 사항
-
TuneD서비스가 설치되고 활성화됩니다. 자세한 내용은 TuneD 설치 및 활성화를 참조하십시오.
절차
선택 사항: 프로필을 기반으로 할 기존 TuneD 프로필을 선택합니다. 사용 가능한 프로필 목록은 RHEL로 배포된 TuneD 프로필을 참조하십시오.
현재 활성화되어 있는 프로필을 확인하려면 다음을 사용합니다.
tuned-adm active
$ tuned-adm activeCopy to Clipboard Copied! Toggle word wrap Toggle overflow TuneD 프로필을 유지할 새 디렉토리를 만듭니다.
mkdir /etc/tuned/my-profile
# mkdir /etc/tuned/my-profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택한 블록 장치의 시스템 고유 식별자를 찾습니다.
udevadm info --query=property --name=/dev/device | grep -E '(WWN|SERIAL)'
$ udevadm info --query=property --name=/dev/device | grep -E '(WWN|SERIAL)' ID_WWN=0x5002538d00000000_ ID_SERIAL=Generic-_SD_MMC_20120501030900000-0:0 ID_SERIAL_SHORT=20120501030900000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제의 명령은 지정된 블록 장치와 연결된 WWN(World Wide Name) 또는 일련 번호로 식별된 모든 값을 반환합니다. WWN을 사용하는 것이 바람직하지만 WWN은 지정된 장치에 항상 사용 가능한 것은 아니며 예제 명령에서 반환된 값은 장치 시스템 고유 ID 로 사용할 수 있습니다.
/etc/tuned/my-profile/tuned.conf구성 파일을 만듭니다. 파일에서 다음 옵션을 설정합니다.선택 사항: 기존 프로필을 포함합니다.
[main] include=existing-profile
[main] include=existing-profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow WWN 식별자와 일치하는 장치에 대해 선택한 디스크 스케줄러를 설정합니다.
[disk] devices_udev_regex=IDNAME=device system unique id elevator=selected-scheduler
[disk] devices_udev_regex=IDNAME=device system unique id elevator=selected-schedulerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기:
-
IDNAME 을 사용 중인 식별자의 이름으로 바꿉니다(예:
ID_WWN). 장치 시스템 고유 ID 를 선택한 식별자 값으로 바꿉니다(예:
0x5002538d0000).devices_udev_regex옵션의 여러 장치를 일치시키려면 식별자를 괄호로 묶고 세로 막대로 구분합니다.devices_udev_regex=(ID_WWN=0x5002538d00000000)|(ID_WWN=0x1234567800000000)
devices_udev_regex=(ID_WWN=0x5002538d00000000)|(ID_WWN=0x1234567800000000)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
IDNAME 을 사용 중인 식별자의 이름으로 바꿉니다(예:
프로필을 활성화합니다.
tuned-adm profile my-profile
# tuned-adm profile my-profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
TuneD 프로필이 활성화되어 적용되었는지 확인합니다.
tuned-adm active
$ tuned-adm active Current active profile: my-profileCopy to Clipboard Copied! Toggle word wrap Toggle overflow tuned-adm verify
$ tuned-adm verify Verification succeeded, current system settings match the preset profile. See TuneD log file ('/var/log/tuned/tuned.log') for details.Copy to Clipboard Copied! Toggle word wrap Toggle overflow /sys/block/장치/queue/scheduler파일의 내용을 읽습니다.cat /sys/block/device/queue/scheduler [mq-deadline] kyber bfq none
# cat /sys/block/device/queue/scheduler [mq-deadline] kyber bfq noneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 이름에서 device 를 exampledc의 블록 장치 이름으로
바꿉니다.활성 스케줄러는 대괄호(
[])로 나열됩니다.
18.6. udev 규칙을 사용하여 디스크 스케줄러 설정 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 udev 규칙을 사용하여 특정 블록 장치에 지정된 디스크 스케줄러를 설정합니다. 이 설정은 시스템을 재부팅해도 유지됩니다.
다음 명령 및 구성에서 교체합니다.
-
블록 장치의 이름이 있는 장치(예:
sdf) -
장치에 설정할 디스크 스케줄러가 있는 select -scheduler (예:
bfq)
절차
블록 장치의 시스템 고유 식별자를 찾습니다.
udevadm info --name=/dev/device | grep -E '(WWN|SERIAL)'
$ udevadm info --name=/dev/device | grep -E '(WWN|SERIAL)' E: ID_WWN=0x5002538d00000000 E: ID_SERIAL=Generic-_SD_MMC_20120501030900000-0:0 E: ID_SERIAL_SHORT=20120501030900000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제의 명령은 지정된 블록 장치와 연결된 WWN(World Wide Name) 또는 일련 번호로 식별된 모든 값을 반환합니다. WWN을 사용하는 것이 바람직하지만 WWN은 지정된 장치에 항상 사용 가능한 것은 아니며 예제 명령에서 반환된 값은 장치 시스템 고유 ID 로 사용할 수 있습니다.
udev규칙을 구성합니다. 다음 콘텐츠를 사용하여/etc/udev/rules.d/99-scheduler.rules파일을 생성합니다.ACTION=="add|change", SUBSYSTEM=="block", ENV{IDNAME}=="device system unique id", ATTR{queue/scheduler}="selected-scheduler"ACTION=="add|change", SUBSYSTEM=="block", ENV{IDNAME}=="device system unique id", ATTR{queue/scheduler}="selected-scheduler"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기:
-
IDNAME 을 사용 중인 식별자의 이름으로 바꿉니다(예:
ID_WWN). -
장치 시스템 고유 ID를 선택한 식별자의 값으로 바꿉니다(예:
0x5002538d00000000).
-
IDNAME 을 사용 중인 식별자의 이름으로 바꿉니다(예:
udev규칙을 다시 로드합니다.udevadm control --reload-rules
# udevadm control --reload-rulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스케줄러 구성을 적용합니다.
udevadm trigger --type=devices --action=change
# udevadm trigger --type=devices --action=changeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
활성 스케줄러를 확인합니다.
cat /sys/block/device/queue/scheduler
# cat /sys/block/device/queue/schedulerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
18.7. 특정 디스크에 대한 스케줄러 임시 설정 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 특정 블록 장치에 대해 지정된 디스크 스케줄러를 설정합니다. 시스템이 재부팅되면 설정이 유지되지 않습니다.
프로세스
선택한 스케줄러의 이름을
/sys/block/장치/queue/scheduler파일에 씁니다.echo selected-scheduler > /sys/block/device/queue/scheduler
# echo selected-scheduler > /sys/block/device/queue/schedulerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 이름에서 장치를 블록 장치 이름(예:
sdc)으로 바꿉니다.
검증
스케줄러가 장치에서 활성화되어 있는지 확인합니다.
cat /sys/block/device/queue/scheduler
# cat /sys/block/device/queue/schedulerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
19장. 원격 디스크리스 시스템 설정 링크 복사링크가 클립보드에 복사되었습니다!
네트워크 환경에서는 원격 디스크 없는 시스템을 배포하여 동일한 구성으로 여러 클라이언트를 설정할 수 있습니다. 현재 Red Hat Enterprise Linux 서버 버전을 사용하면 이러한 클라이언트에 대한 하드 드라이브의 비용을 저장하고 별도의 서버에서 게이트웨이를 구성할 수 있습니다.
다음 다이어그램에서는 DHCP(Dynamic Host Configuration Protocol) 및 TFTP(Trivial File Transfer Protocol) 서비스를 통해 서버와 디스크 없는 클라이언트의 연결을 설명합니다.
그림 19.1. 원격 디스크 없는 시스템 설정 다이어그램
19.1. 원격 디스크리스 시스템을 위한 환경 준비 링크 복사링크가 클립보드에 복사되었습니다!
원격 디스크리스 시스템 구현을 계속할 수 있는 환경을 준비합니다. 원격 디스크리스 시스템 부팅에는 다음 서비스가 필요합니다.
- tftp-server에서 제공하는 간단한 TFTP(File Transfer Protocol) 서비스 시스템은 tftp 서비스를 사용하여 PXE(Preboot Execution Environment) 로더를 통해 네트워크를 통해 커널 이미지와 초기 RAM 디스크 initrd를 검색합니다.
- dhcp에서 제공하는 DHCP(Dynamic Host Configuration Protocol) 서비스.
사전 요구 사항
-
xinetd패키지를 설치했습니다. - 네트워크 연결을 설정했습니다.
프로세스
dracut-network패키지를 설치합니다.yum install dracut-network
# yum install dracut-networkCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/dracut.conf.d/network.conf파일에 다음 행을 추가합니다.add_dracutmodules+=" nfs "
add_dracutmodules+=" nfs "Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 순서로 서비스를 구성하여 사용자 환경에서 원격 디스크리스 시스템의 올바른 기능을 확인하십시오.
- TFTP 서비스를 구성합니다. 자세한 내용은 디스크 없는 클라이언트에 대한 TFTP 서비스 구성 을 참조하십시오.
- DHCP 서버를 구성합니다. 자세한 내용은 디스크 없는 클라이언트에 대한 DHCP 서버 구성 을 참조하십시오.
- NFS(네트워크 파일 시스템) 및 내보낸 파일 시스템을 구성합니다. 자세한 내용은 디스크 없는 클라이언트에 대해 내보낸 파일 시스템 구성 을 참조하십시오.
19.2. 디스크 없는 클라이언트에 대한 TFTP 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
원격 디스크리스 시스템이 사용자 환경에서 제대로 작동하려면 먼저 디스크 없는 클라이언트에 대해 TFTP(Trivial File Transfer Protocol) 서비스를 구성해야 합니다.
이 구성은 UEFI(Unified Extensible Firmware Interface)를 통해 부팅되지 않습니다. UEFI 기반 설치의 경우 UEFI 기반 클라이언트용 TFTP 서버 구성 을 참조하십시오.
사전 요구 사항
다음 패키지를 설치했습니다.
-
tftp-server -
syslinux -
xinetd
-
절차
tftp서비스를 활성화합니다.systemctl enable --now tftp
# systemctl enable --now tftpCopy to Clipboard Copied! Toggle word wrap Toggle overflow tftp루트 디렉터리에pxelinux디렉토리를 생성합니다.mkdir -p /var/lib/tftpboot/pxelinux/
# mkdir -p /var/lib/tftpboot/pxelinux/Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/syslinux/pxelinux.0파일을/var/lib/tftpboot/pxelinux/디렉터리에 복사합니다.cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/syslinux/ldlinux.c32를/var/lib/tftpboot/pxelinux/로 복사합니다.cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/pxelinux/
# cp /usr/share/syslinux/ldlinux.c32 /var/lib/tftpboot/pxelinux/Copy to Clipboard Copied! Toggle word wrap Toggle overflow tftp루트 디렉터리에pxelinux.cfg디렉토리를 생성합니다.mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg/
# mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
서비스
tftp의 상태 확인:systemctl status tftp
# systemctl status tftp ... Active: active (running) ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.3. 디스크 없는 클라이언트를 위한 DHCP 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
원격 디스크리스 시스템에는 올바른 기능을 활성화하기 위해 사전 설치된 여러 서비스가 필요합니다.
사전 요구 사항
- Trivial File Transfer Protocol (TFTP) 서비스를 설치합니다.
다음 패키지가 설치되어 있어야 합니다.
-
dhcp-server -
xinetd
-
-
디스크 없는 클라이언트에 대해
tftp서비스를 구성했습니다. 자세한 내용은 디스크 없는 클라이언트에 대한 TFTP 서비스 구성 을 참조하십시오.
절차
/etc/dhcp/dhcpd.conf파일에 다음 구성을 추가하여 DHCP 서버를 설정하고 부팅을 위해 PXE(Preboot Execution Environment)를 활성화합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow DHCP 구성은 임대 시간 또는 고정 주소와 같은 환경에 따라 다를 수 있습니다. 자세한 내용은 DHCP 서비스 제공을 참조하십시오.
참고libvirt가상 시스템을 디스크리스 클라이언트로 사용하는 동안libvirt데몬은 DHCP 서비스를 제공하며 독립 실행형 DHCP 서버는 사용되지 않습니다. 이 경우libvirt네트워크 구성인virsh net-edit에서bootp file=<filename> 옵션을 사용하여 네트워크 부팅을 활성화해야 합니다.dhcpd.service를 활성화합니다.systemctl enable --now dhcpd.service
# systemctl enable --now dhcpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
service
dhcpd.service의 상태를 확인합니다.systemctl status dhcpd.service
# systemctl status dhcpd.service ... Active: active (running) ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.4. 디스크리스 클라이언트에 대해 내보낸 파일 시스템 구성 링크 복사링크가 클립보드에 복사되었습니다!
환경에서 원격 디스크리스 시스템을 구성하는 과정의 일환으로 디스크리스 클라이언트에 대해 내보낸 파일 시스템을 구성해야 합니다.
사전 요구 사항
-
디스크 없는 클라이언트에 대해
tftp서비스를 구성했습니다. 디스크 없는 클라이언트에 대한 TFTP 서비스 구성 섹션을 참조하십시오. - DHCP(Dynamic Host Configuration Protocol) 서버를 구성했습니다. 디스크 없는 클라이언트에 대한 DHCP 서버 구성을 참조하십시오.
절차
-
/etc/exports디렉터리에 추가하여 루트 디렉토리를 내보내도록 NFS(Network File System) 서버를 구성합니다. 전체 지침 세트는 NFS 서버 배포를참조하십시오. 완전한 디스크 없는 클라이언트를 수용하려면 전체 버전의 Red Hat Enterprise Linux를 루트 디렉토리에 설치합니다. 이를 위해 새 기본 시스템을 설치하거나 기존 설치를 복제할 수 있습니다.
export-root-directory를 내보낸 파일 시스템의 경로로 교체하여 내보낸 위치에 Red Hat Enterprise Linux를 설치합니다.
yum install @Base kernel dracut-network nfs-utils --installroot=exported-root-directory --releasever=/
# yum install @Base kernel dracut-network nfs-utils --installroot=exported-root-directory --releasever=/Copy to Clipboard Copied! Toggle word wrap Toggle overflow releasever옵션을/로 설정하면 호스트(/) 시스템에서 릴리스가 감지됩니다.rsync유틸리티를 사용하여 실행 중인 시스템과 동기화합니다.rsync -a -e ssh --exclude='/proc/' --exclude='/sys/' example.com:/ exported-root-directory
# rsync -a -e ssh --exclude='/proc/' --exclude='/sys/' example.com:/ exported-root-directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
rsync유틸리티를 통해 동기화할 example.com 을 실행 중인 시스템의 호스트 이름으로 바꿉니다. exported-root-directory 를 내보낸 파일 시스템의 경로로 바꿉니다.
이 옵션의 경우, 위의 명령으로 서버에 복제할 별도의 실행 중인 시스템이 있어야 합니다.
-
디스크리스 클라이언트와 함께 사용하기 전에 내보내기 준비가 된 파일 시스템을 구성합니다.
디스크리스 클라이언트 지원 커널(
vmlinuz-_kernel-version_pass:attributes)을tftp부팅 디렉터리에 복사합니다.cp /exported-root-directory/boot/vmlinuz-kernel-version /var/lib/tftpboot/pxelinux/
# cp /exported-root-directory/boot/vmlinuz-kernel-version /var/lib/tftpboot/pxelinux/Copy to Clipboard Copied! Toggle word wrap Toggle overflow initramfs-kernel-version.img파일을 로컬로 생성하고 NFS를 지원하는 내보낸 루트 디렉터리로 이동합니다.dracut --add nfs initramfs-kernel-version.img kernel-version
# dracut --add nfs initramfs-kernel-version.img kernel-versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
dracut --add nfs /exports/root/boot/initramfs-5.14.0-202.el9.x86_64.img 5.14.0-202.el9.x86_64
# dracut --add nfs /exports/root/boot/initramfs-5.14.0-202.el9.x86_64.img 5.14.0-202.el9.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 실행 중인 커널 버전을 사용하고 기존 이미지를 덮어쓰는 initrd 생성 예:
dracut -f --add nfs "boot/initramfs-$(uname -r).img" "$(uname -r)"
# dracut -f --add nfs "boot/initramfs-$(uname -r).img" "$(uname -r)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow initrd의 파일 권한을0644로 변경합니다.chmod 0644 /exported-root-directory/boot/initramfs-kernel-version.img
# chmod 0644 /exported-root-directory/boot/initramfs-kernel-version.imgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 주의initrd파일 권한을 변경하지 않으면pxelinux.0부트 로더가 "file not found" 오류와 함께 실패합니다.생성된
initramfs-kernel-version.img파일을tftp부팅 디렉터리에 복사합니다.cp /exported-root-directory/boot/initramfs-kernel-version.img /var/lib/tftpboot/pxelinux/
# cp /exported-root-directory/boot/initramfs-kernel-version.img /var/lib/tftpboot/pxelinux/Copy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/tftpboot/pxelinux/pxelinux.cfg/default파일에 다음 구성을 추가하여initrd및 커널을 사용하는 기본 부팅 구성을 편집합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 구성은 디스크 없는 클라이언트 루트에 읽기/쓰기 형식으로
/exported-root-directory내보낸 파일 시스템을 마운트하도록 지시합니다.선택 사항: 다음 구성으로
/var/lib/tftpboot/pxelinux/pxelinux.cfg/default파일을 편집하여읽기 전용형식으로 파일 시스템을 마운트합니다.default rhel8 label rhel8 kernel vmlinuz-kernel-version append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported-root-directory ro
default rhel8 label rhel8 kernel vmlinuz-kernel-version append initrd=initramfs-kernel-version.img root=nfs:server-ip:/exported-root-directory roCopy to Clipboard Copied! Toggle word wrap Toggle overflow NFS 서버를 다시 시작하십시오.
systemctl restart nfs-server.service
# systemctl restart nfs-server.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 NFS 공유를 디스크 없는 클라이언트로 내보낼 수 있습니다. 이러한 클라이언트는 PXE(Preboot Execution Environment)를 통해 네트워크를 통해 부팅할 수 있습니다.
19.5. 원격 디스크리스 시스템 재구성 링크 복사링크가 클립보드에 복사되었습니다!
패키지를 설치하거나 서비스를 다시 시작하거나 문제를 디버깅하려면 시스템을 재구성할 수 있습니다.
사전 요구 사항
-
내보낸 파일 시스템에서
no_root_squash옵션을 활성화했습니다.
프로세스
사용자 암호를 변경합니다.
명령줄을 /exported/root/directory 로 변경합니다.
chroot /exported/root/directory /bin/bash
# chroot /exported/root/directory /bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow 원하는 사용자의 암호를 변경합니다.
passwd <username>
# passwd <username>Copy to Clipboard Copied! Toggle word wrap Toggle overflow & lt;username >을 암호를 변경하려는 실제 사용자로 바꿉니다.
- 명령줄을 종료합니다.
원격 디스크리스 시스템에 소프트웨어를 설치합니다.
yum install <package> --installroot=/exported/root/directory --releasever=/ --config /etc/dnf/dnf.conf --setopt=reposdir=/etc/yum.repos.d/
# yum install <package> --installroot=/exported/root/directory --releasever=/ --config /etc/dnf/dnf.conf --setopt=reposdir=/etc/yum.repos.d/Copy to Clipboard Copied! Toggle word wrap Toggle overflow & lt;package >를 설치하려는 실제 패키지로 바꿉니다.
- 원격 디스크 없는 시스템을 /usr 및 /var 으로 분할하도록 두 개의 개별 내보내기를 구성합니다. 자세한 내용은 NFS 서버 배포를 참조하십시오.
19.6. 원격 디스크리스 시스템 로드와 관련된 일반적인 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
이전 구성을 기반으로 원격 디스크리스 시스템을 로드하는 동안 일부 문제가 발생할 수 있습니다. 다음은 Red Hat Enterprise Linux 서버에서 가장 일반적인 문제 및 문제 해결 방법의 몇 가지 예입니다.
예 19.1. 클라이언트에서 IP 주소를 가져오지 않음
서버에서 DHCP(Dynamic Host Configuration Protocol) 서비스가 활성화되어 있는지 확인합니다.
dhcp.service가 실행 중인지 확인합니다.systemctl status dhcpd.service
# systemctl status dhcpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow dhcp.service가 비활성화된 경우 이를 활성화하고 시작합니다.systemctl enable dhcpd.service systemctl start dhcpd.service
# systemctl enable dhcpd.service # systemctl start dhcpd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 디스크 없는 클라이언트를 재부팅합니다.
-
DHCP 구성 파일
/etc/dhcp/dhcpd.conf를 확인합니다. 자세한 내용은 디스크리스 클라이언트를 위한 DHCP 서버 구성을 참조하십시오.
방화벽 포트가 열려 있는지 확인합니다.
dhcp.service가 활성 서비스에 나열되어 있는지 확인합니다.firewall-cmd --get-active-zones firewall-cmd --info-zone=public
# firewall-cmd --get-active-zones # firewall-cmd --info-zone=publicCopy to Clipboard Copied! Toggle word wrap Toggle overflow dhcp.service가 활성 서비스에 나열되지 않은 경우 목록에 추가합니다.firewall-cmd --add-service=dhcp --permanent
# firewall-cmd --add-service=dhcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow nfs.service가 활성 서비스에 나열되어 있는지 확인합니다.firewall-cmd --get-active-zones firewall-cmd --info-zone=public
# firewall-cmd --get-active-zones # firewall-cmd --info-zone=publicCopy to Clipboard Copied! Toggle word wrap Toggle overflow nfs.service가 활성 서비스에 나열되지 않은 경우 목록에 추가합니다.firewall-cmd --add-service=nfs --permanent
# firewall-cmd --add-service=nfs --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
예 19.2. 원격 디스크리스 시스템을 부팅하는 동안 파일을 사용할 수 없습니다
-
파일이
/var/lib/tftpboot/디렉터리에 있는지 확인합니다. 파일이 디렉터리에 있는 경우 다음 권한이 있는지 확인합니다.
chmod 644 pxelinux.0
# chmod 644 pxelinux.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 방화벽 포트가 열려 있는지 확인합니다.
예 19.3. 커널/initrd로드 후 시스템 부팅 실패
서버에서 NFS 서비스가 활성화되어 있는지 확인합니다.
nfs.service가 실행 중인지 확인합니다.systemctl status nfs.service
# systemctl status nfs.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow nfs.service가 비활성화된 경우 이를 시작하고 활성화해야 합니다.systemctl start nfs.service systemctl enable nfs.service
# systemctl start nfs.service # systemctl enable nfs.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
/var/lib/tftpboot/pxelinux.cfg/디렉토리에서 매개변수가 올바른지 확인합니다. 자세한 내용은 디스크리스 클라이언트를 위해 내보낸 파일 시스템 구성 을 참조하십시오. - 방화벽 포트가 열려 있는지 확인합니다.
20장. RAID 관리 링크 복사링크가 클립보드에 복사되었습니다!
RAID(Redundant Array of Independent Disks)를 사용하여 여러 드라이브에 데이터를 저장할 수 있습니다. 드라이브가 실패한 경우 데이터 손실을 방지할 수 있습니다.
20.1. RAID 개요 링크 복사링크가 클립보드에 복사되었습니다!
RAID에서 HDD, SSD 또는 NVMe와 같은 여러 장치가 배열로 결합되어 하나의 크고 비용이 많이 드는 드라이브로 달성되지 않는 성능 또는 중복 목표를 달성할 수 있습니다. 이 장치 배열은 컴퓨터에 단일 논리 저장 장치 또는 드라이브로 나타납니다.
RAID는 0, 1, 4, 5, 6, 10 및 선형을 포함한 다양한 구성을 지원합니다. RAID는 디스크 스트라이핑(RAID 레벨 0), 디스크 미러링(RAID 레벨 1), 디스크 스트라이프 (RAID 레벨 4, 5 및 6)와 같은 기술을 사용하여 중복, 대기 시간, 대역폭 증가 및 하드 디스크 충돌에서 복구하는 기능을 극대화합니다.
RAID는 다른 값을 사용할 수 있지만 일반적으로 256KB 또는 512KB인 일관적인 크기의 청크로 분할하여 배열의 각 장치에 데이터를 분산합니다. 사용된 RAID 수준에 따라 RAID 배열의 하드 드라이브에 이러한 청크를 씁니다. 데이터를 읽는 동안 프로세스는 반전되어 배열의 여러 장치가 실제로 하나의 큰 드라이브라는 인식을 제공합니다.
RAID 기술은 대량의 데이터를 관리하는 사용자에게 유용합니다. 다음은 RAID를 배포하는 주요 이유입니다.
- 속도 향상
- 단일 가상 디스크를 사용하여 스토리지 용량 증가
- 디스크 장애로 인한 데이터 손실을 최소화합니다.
- RAID 레이아웃 및 수준 온라인 변환
20.2. RAID 유형 링크 복사링크가 클립보드에 복사되었습니다!
다음은 가능한 RAID 유형입니다.
- 펌웨어 RAID
- ATARAID라고도 하는 펌웨어 RAID는 펌웨어 기반 메뉴를 사용하여 RAID 세트를 구성할 수 있는 소프트웨어 RAID 유형입니다. 이 유형의 RAID에서 사용하는 펌웨어도 BIOS로 후크되므로 RAID 세트에서 부팅할 수 있습니다. 벤더마다 다른 디스크의 메타데이터 형식을 사용하여 RAID 세트 멤버를 표시합니다. Intel Matrix RAID는 펌웨어 RAID 시스템의 예입니다.
- 하드웨어 RAID
하드웨어 기반 어레이는 호스트와 독립적으로 RAID 하위 시스템을 관리합니다. 호스트에 RAID 배열당 여러 장치를 제공할 수 있습니다.
하드웨어 RAID 장치는 내부 또는 시스템 외부에 있을 수 있습니다. 내부 장치는 일반적으로 RAID 작업을 운영 체제에 투명하게 처리하는 특수 컨트롤러 카드로 구성됩니다. 외부 장치는 일반적으로 SCSI, 파이버 채널, iSCSI, InfiniBand 또는 기타 고속 네트워크 상호 연결 및 논리 장치와 같은 볼륨(예: 논리 단위)을 통해 시스템에 연결합니다.
RAID 컨트롤러 카드는 운영 체제에 대한 SCSI 컨트롤러와 같은 기능을 하며 모든 실제 드라이브 통신을 처리합니다. 드라이브를 일반 SCSI 컨트롤러와 유사한 RAID 컨트롤러에 연결한 다음 RAID 컨트롤러의 구성에 추가할 수 있습니다. 운영 체제는 차이를 알 수 없습니다.
- 소프트웨어 RAID
소프트웨어 RAID는 커널 블록 장치 코드에서 다양한 RAID 수준을 구현합니다. 비용이 많이 드는 디스크 컨트롤러 카드 또는 핫 스왑 섀시가 필요하지 않기 때문에 가능한 가장 저렴한 솔루션을 제공합니다. 핫 스왑 섀시를 사용하면 시스템의 전원을 끄지 않고도 하드 드라이브를 제거할 수 있습니다. 소프트웨어 RAID는 SATA, SCSI 및 NVMe와 같은 Linux 커널에서 지원하는 모든 블록 스토리지에서도 작동합니다. 오늘날의 CPU가 더 빨라지면 소프트웨어 RAID도 고급 스토리지 장치를 사용하지 않는 한 일반적으로 하드웨어 RAID를 대체합니다.
Linux 커널에는 여러 장치(MD) 드라이버가 포함되어 있으므로 RAID 솔루션은 완전히 독립적입니다. 소프트웨어 기반 배열의 성능은 서버 CPU 성능 및 로드에 따라 달라집니다.
다음은 Linux 소프트웨어 RAID 스택의 주요 기능입니다.
- 다중 스레드 설계
- 재구축 없이 Linux 시스템 간 배열의 이식성
- 유휴 시스템 리소스를 사용한 백그라운드 배열 재구성
- Hot-swap 드라이브 지원
- SIMD(Single Instruction Multiple Data) 지원과 같은 특정 CPU 기능을 활용하기 위한 자동 CPU 탐지.
- 배열의 디스크에서 잘못된 섹터를 자동으로 수정합니다.
- RAID 데이터를 정기적으로 검사하여 배열의 상태를 확인합니다.
- 중요한 이벤트에서 지정된 이메일 주소로 전송된 이메일 경고를 사용하여 배열을 사전 모니터링.
커널이 시스템 충돌 후 전체 배열을 다시 동기화하는 대신 다시 동기화해야 하는 디스크의 일부를 정확하게 확인할 수 있도록 하여 재동기화 이벤트의 속도가 크게 증가합니다.
참고재동기화는 중복을 수행하기 위해 기존 RAID의 장치를 통해 데이터를 동기화하는 프로세스입니다.
- 다시 동기화하는 동안 컴퓨터를 재부팅하면 다시 동기화를 시작할 때 다시 동기화가 다시 시작되고 모든 작업이 다시 시작되지 않도록 다시 동기화합니다.
- 설치 후 배열의 매개 변수를 변경하는 기능을 리셰이핑이라고 합니다. 예를 들어 새 장치를 추가할 때 4-disk RAID5 배열을 5-disk RAID5 배열로 확장할 수 있습니다. 이 증가 작업은 실시간으로 수행되며 새 배열에 다시 설치할 필요가 없습니다.
- 리형핑은 장치 수, RAID 알고리즘 또는 RAID 배열 유형의 크기(예: RAID4, RAID5, RAID6, RAID10) 변경을 지원합니다.
- takeover는 RAID0에서 RAID6과 같은 RAID 수준 변환을 지원합니다.
- 클러스터의 스토리지 솔루션인 클러스터 MD는 클러스터에 대한 RAID1 미러링의 중복성을 제공합니다. 현재 RAID1만 지원됩니다.
20.3. RAID 수준 및 선형 지원 링크 복사링크가 클립보드에 복사되었습니다!
다음은 수준 0, 1, 4, 5, 6, 10 및 선형을 포함하여 RAID에서 지원하는 구성입니다.
- 수준 0
RAID 수준 0은 종종 스트라이핑된 성능 지향 데이터 매핑 기술입니다. 즉, 배열에 기록되는 데이터가 스트라이프로 분할되고 배열의 멤버 디스크에 기록되므로 낮은 I/O 성능이 있지만 중복성은 제공되지 않습니다.
RAID 수준 0 구현은 멤버 장치에서 데이터를 배열에서 가장 작은 장치의 크기로만 스트라이프합니다. 즉, 크기가 약간 다른 여러 장치가 있는 경우 각 장치는 가장 작은 드라이브와 동일한 크기인 것처럼 처리됩니다. 따라서 수준 0 배열의 일반적인 스토리지 용량은 모든 디스크의 총 용량입니다. 멤버 디스크의 크기가 다른 경우 RAID0은 사용 가능한 영역을 사용하여 해당 디스크의 모든 공간을 사용합니다.
- 수준 1
RAID 수준 1 또는 미러링은 배열의 각 멤버 디스크에 동일한 데이터를 작성하여 중복을 제공하여 각 디스크에 미러링된 복사본을 남겨 둡니다. 미러링은 단순성과 높은 수준의 데이터 가용성으로 인해 널리 사용됩니다. 수준 1은 두 개 이상의 디스크로 작동하며 우수한 데이터 안정성을 제공하고 읽기 집약적인 애플리케이션의 성능을 개선하지만 비교적 비용이 많이 듭니다.
RAID 레벨 1은 데이터 신뢰성을 제공하지만 레벨 5와 같은 패리티 기반 RAID 수준보다 훨씬 적은 공간 효율적인 방식으로 배열의 모든 디스크에 동일한 정보를 쓰기 때문에 비용이 많이 듭니다. 그러나 이 공간 비효율은 성능 이점을 제공합니다. 이는 패리티를 생성하기 위해 훨씬 더 많은 CPU 성능을 소비하는 패리티 기반 RAID 수준입니다. RAID 수준 1은 단순히 CPU 오버헤드가 적은 여러 RAID 멤버에 동일한 데이터를 두 번 이상 씁니다. 따라서 RAID 레벨 1은 소프트웨어 RAID가 사용되는 시스템에서 패리티 기반 RAID 수준을 초과하여 시스템의 CPU 리소스가 RAID 활동 이외의 작업에 일관되게 과세됩니다.
레벨 1 어레이의 스토리지 용량은 하드웨어 RAID에서 가장 작은 미러링된 하드 디스크 용량 또는 소프트웨어 RAID에서 가장 작은 미러링된 파티션과 동일합니다. 수준 1 중복은 모든 RAID 유형 중에서 가장 높은 수준이며, 배열은 단일 디스크에서만 작동할 수 있습니다.
- 수준 4
레벨 4는 데이터를 보호하기 위해 단일 디스크 드라이브에 중점을 둔 패리티를 사용합니다. 패리티 정보는 배열의 나머지 멤버 디스크의 내용을 기반으로 계산됩니다. 그런 다음 이 정보를 사용하여 배열의 디스크 1개가 실패할 때 데이터를 재구성할 수 있습니다. 복원된 데이터는 교체되기 전에 실패한 디스크에 I/O 요청을 충족하고 실패한 디스크를 교체한 후 다시 생성하는 데 사용할 수 있습니다.
전용 패리티 디스크는 RAID 배열에 대한 모든 쓰기 트랜잭션에 대한 고유한 병목 현상을 나타내며, 레벨 4는 나중 쓰기 캐싱과 같은 관련 기술 없이는 거의 사용되지 않습니다. 또는 시스템 관리자가 의도적으로 이러한 병목 현상을 가진 소프트웨어 RAID 장치를 설계하는 경우 배열이 데이터로 채워지면 쓰기 트랜잭션이 거의 없는 배열과 같이 시스템 관리자가 의도적으로 사용됩니다. RAID 수준 4는 Anaconda에서 옵션으로 사용할 수 없도록 거의 사용되지 않습니다. 그러나 필요한 경우 사용자가 수동으로 생성할 수 있습니다.
하드웨어 RAID 수준 4의 스토리지 용량은 가장 작은 멤버 파티션의 용량에 파티션 수를 - 1을 곱한 것과 같습니다. RAID 수준 4 배열의 성능은 항상 비대칭이며, 이는 outperform 쓰기를 의미합니다. 이는 쓰기 작업이 패리티를 생성할 때 추가 CPU 리소스 및 기본 메모리 대역폭을 소비하고 실제 데이터를 디스크에 쓸 때 추가 버스 대역폭을 소비하기 때문입니다. 데이터 작성뿐만 아니라 패리티도 사용하기 때문입니다. 읽기 작업은 배열이 성능 저하된 상태에 있지 않는 한 패리티가 아닌 데이터 읽기만 있으면 됩니다. 결과적으로 읽기 작업은 일반 작동 조건에서 동일한 양의 데이터 전송에 대해 드라이브의 트래픽과 컴퓨터 전체에서 더 적은 트래픽을 생성합니다.
- 수준 5
RAID의 가장 일반적인 유형입니다. RAID 레벨 5는 모든 멤버 디스크 드라이브에 패리티를 분배함으로써 레벨 4에 내재된 쓰기 병목 현상을 제거합니다. 유일한 성능 장애는 패리티 계산 프로세스 자체입니다. 최신 CPU는 패리티를 매우 빠르게 계산할 수 있습니다. 그러나 RAID 5 배열에 많은 수의 디스크가 있어 모든 장치에서 결합된 집계 데이터 전송 속도가 충분히 높으면 패리티 계산이 병목 현상이 발생할 수 있습니다.
레벨 5에는 비대칭 성능이 있으며 상당한 성능 쓰기를 읽습니다. RAID 수준 5의 스토리지 용량은 수준 4와 동일한 방식으로 계산됩니다.
- 수준 6
이는 데이터 중복성 및 보존이 아닌 데이터가 성능상 중요한 문제이지만 수준 1의 공간 비효율성을 허용하지 않는 경우 RAID의 일반적인 수준입니다. 레벨 6은 복잡한 패리티 체계를 사용하여 배열의 두 드라이브의 손실에서 복구할 수 있습니다. 이러한 복잡한 패리티 체계는 소프트웨어 RAID 장치에 대한 CPU 부담을 크게 높이며 쓰기 트랜잭션 중에 부담을 증가시킵니다. 따라서 레벨 6은 레벨 4와 5보다 성능이 훨씬 더 비대칭적입니다.
RAID 수준 6 배열의 총 용량은 RAID 수준 5 및 4와 유사하게 계산됩니다. 단, 추가 패리티 스토리지 공간을 위해 장치 수에서 두 개의 장치를 뺀 것입니다.
- 수준 10
이 RAID 수준은 수준 0의 성능 이점과 수준 1의 중복성을 결합합니다. 또한 두 개 이상의 장치를 사용하는 레벨 1 배열에서 공간 중 일부를 줄입니다. 레벨 10의 경우, 예를 들어, 각 데이터의 각 조각의 두 복사본만 저장하도록 구성된 3-drive 배열을 생성할 수 있으며, 이를 통해 전체 배열 크기는 3-장치, 레벨 1 어레이와 유사하게 가장 작은 장치뿐만 아니라 최소 장치의 크기를 1.5배로 지정할 수 있습니다. 이렇게 하면 RAID 수준 6과 유사한 패리티를 계산하기 위해 CPU 프로세스 사용을 피할 수 있지만 공간 효율적이 줄어듭니다.
설치 중에 RAID 수준 10 생성은 지원되지 않습니다. 설치 후 수동으로 생성할 수 있습니다.
- 선형 RAID
선형 RAID는 더 큰 가상 드라이브를 만드는 드라이브 그룹입니다.
선형 RAID에서는 청크가 하나의 멤버 드라이브에서 순차적으로 할당되고 첫 번째 드라이브가 완전히 채워지는 경우에만 다음 드라이브로 이동합니다. 이 그룹화는 모든 I/O 작업이 멤버 드라이브 간에 분할되지 않으므로 성능상의 이점을 제공하지 않습니다. 또한 선형 RAID는 중복성을 제공하지 않으며 신뢰성을 낮춥니다. 하나의 멤버 드라이브가 실패하면 전체 배열을 사용할 수 없으며 데이터가 손실될 수 있습니다. 용량은 모든 멤버 디스크의 합계입니다.
20.4. 지원되는 RAID 변환 링크 복사링크가 클립보드에 복사되었습니다!
하나의 RAID 수준에서 다른 RAID 수준으로 변환할 수 있습니다. 예를 들어 RAID5에서 RAID10으로 변환할 수 있지만 RAID10에서는 RAID5로 변환할 수 없습니다. 다음 표에서는 지원되는 RAID 변환을 설명합니다.
| RAID 변환 수준 | 변환 단계 | 참고 |
|---|---|---|
| RAID 수준 0에서 RAID 레벨 4 |
mdadm --grow /dev/md0 --level=4 -n3 --add /dev/vdd
| 최소 3개의 디스크가 필요하므로 MD 배열에 디스크를 추가해야 합니다. |
| RAID 수준 0에서 RAID 레벨 5 |
mdadm --grow /dev/md0 --level=5 -n3 --add /dev/vdd
| 최소 3개의 디스크가 필요하므로 MD 배열에 디스크를 추가해야 합니다. |
| RAID 수준 0에서 RAID 수준 10으로 |
mdadm --grow /dev/md0 --level 10 -n 4 --add /dev/vd[ef]
| MD 배열에 두 개의 추가 디스크를 추가해야 합니다. |
| RAID 수준 1에서 RAID 수준 0 |
mdadm --grow /dev/md0 -l0
| |
| RAID 수준 1에서 RAID 레벨 5 |
mdadm --grow /dev/md0 --level=5
| |
| RAID 수준 4에서 RAID 수준 0 |
mdadm --grow /dev/md0 --level=0
| |
| RAID 레벨 4에서 RAID 레벨 5 |
mdadm --grow /dev/md0 --level=5
| |
| RAID 수준 5에서 RAID 수준 0 |
mdadm --grow /dev/md0 --level=0
| |
| RAID 수준 5 ~ RAID 수준 1 |
| |
| RAID 수준 5에서 RAID 레벨 4 |
mdadm --grow /dev/md0 --level=4
| |
| RAID 수준 5에서 RAID 레벨 6 |
mdadm --grow /dev/md0 --level=6 --add /dev/vde
| |
| RAID 수준 5에서 RAID 수준 10으로 |
mdadm --grow /dev/md0 --level=0 # mdadm --grow /dev/md0 --level=10 --add /dev/vde /dev/vdf
| RAID 수준 5를 RAID 수준 10으로 변환하는 것은 두 단계 변환입니다.
|
| RAID 레벨 6에서 RAID 레벨 5 |
mdadm --grow /dev/md0 --level=5
| |
| RAID 수준 10에서 RAID 수준 0 |
mdadm --grow /dev/md0 --level=0
|
RAID 5를 RAID0 및 RAID4로 변환하는 것은 ALGORITHM_PARITY_N 레이아웃을 통해서만 가능합니다.
RAID 수준을 변환한 후 mdadm --detail /dev/md0 또는 cat /proc/mdstat 명령을 사용하여 변환을 확인합니다.
20.5. RAID 하위 시스템 링크 복사링크가 클립보드에 복사되었습니다!
다음 하위 시스템은 RAID를 구성합니다.
- 하드웨어 RAID 컨트롤러 드라이버
- 하드웨어 RAID 컨트롤러에는 특정 RAID 하위 시스템이 없습니다. 특수 RAID 칩셋을 사용하므로 하드웨어 RAID 컨트롤러에 자체 드라이버가 제공됩니다. 이러한 드라이버를 사용하면 시스템은 RAID 세트를 일반 디스크로 감지합니다.
mdraidmdraid하위 시스템은 소프트웨어 RAID 솔루션으로 설계되었습니다. 또한 Red Hat Enterprise Linux의 소프트웨어 RAID에 대해 선호되는 솔루션이기도 합니다. 이 하위 시스템은 네이티브 MD 메타데이터라고 하는 자체 메타데이터 형식을 사용합니다.외부 메타데이터로 알려진 다른 메타데이터 형식도 지원합니다. Red Hat Enterprise Linux 8은 외부 메타데이터와 함께
mdraid를 사용하여 Intel Rapid Storage(ISW) 또는 ISM(Intel Matrix Storage Manager) 세트 및 SNIA(Storage Networking Industry Association) DDF(Storage Networking Industry Association)에 액세스합니다.mdraid하위 시스템 세트는mdadm유틸리티를 통해 구성 및 제어됩니다.
20.6. 설치 중 소프트웨어 RAID 생성 링크 복사링크가 클립보드에 복사되었습니다!
RAID(Independent Disks) 장치의 중복 배열은 성능 향상을 위해 정렬된 여러 스토리지 장치에서 구성되며 일부 구성에서는 내결함성이 향상됩니다. RAID 장치는 한 단계에서 생성되며 디스크는 필요에 따라 추가 또는 제거됩니다. 시스템의 각 물리적 디스크에 대해 하나의 RAID 파티션을 구성하여 설치 프로그램에서 사용할 수 있는 디스크 수가 사용 가능한 RAID 장치의 수준을 결정하도록 할 수 있습니다. 예를 들어 시스템에 두 개의 디스크가 있는 경우 RAID 10 장치를 생성할 수 없습니다. 최소 3개의 별도의 디스크가 필요하기 때문입니다. 시스템의 스토리지 성능과 신뢰성을 최적화하기 위해 RHEL은 설치된 시스템에 스토리지를 설정하기 위해 LVM 및 LVM Thin Provisioning을 사용하여 소프트웨어 RAID 0,RAID 1,RAID 4,RAID 5,RAID 6 및 RAID 10 유형을 지원합니다.
64비트 IBM Z에서 스토리지 하위 시스템은 RAID를 투명하게 사용합니다. 소프트웨어 RAID를 수동으로 구성할 필요는 없습니다.
사전 요구 사항
- RAID 구성 옵션이 표시되기 전에 설치를 위해 두 개 이상의 디스크를 선택했습니다. 생성할 RAID 유형에 따라 두 개 이상의 디스크가 필요합니다.
- 마운트 지점을 생성했습니다. 마운트 지점을 구성하면 RAID 장치를 구성할 수 있습니다.
- 설치 대상 창에서 라디오 버튼을 선택했습니다.
프로세스
- 수동 파티션 창의 왼쪽 창에서 필요한 파티션을 선택합니다.
- 장치 섹션에서 을 클릭합니다. 마운트 지점 구성 대화 상자가 열립니다.
- RAID 장치에 포함할 디스크를 선택하고 를 클릭합니다.
- 장치 유형 드롭다운 메뉴를 클릭하고 RAID 를 선택합니다.
- 파일 시스템 드롭다운 메뉴를 클릭하고 선호하는 파일 시스템 유형을 선택합니다.
- RAID 수준 드롭다운 메뉴를 클릭하고 원하는 RAID 수준을 선택합니다.
- 클릭하여 변경 사항을 저장합니다.
- 을 클릭하여 설정을 적용하여 Installation Summary 창으로 돌아갑니다.
20.7. 설치된 시스템에서 소프트웨어 RAID 생성 링크 복사링크가 클립보드에 복사되었습니다!
mdadm 유틸리티를 사용하여 기존 시스템에서 소프트웨어 RAID(Redundant Array of Independent Disks)를 생성할 수 있습니다.
사전 요구 사항
-
mdadm패키지가 설치되어 있습니다. - 시스템에 두 개 이상의 파티션을 생성했습니다. 자세한 지침은 parted로 파티션 생성 을 참조하십시오.
프로세스
두 블록 장치의 RAID를 생성합니다(예: /dev/sda1 및 /dev/sdc 1):
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdc1
# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdc1 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.Copy to Clipboard Copied! Toggle word wrap Toggle overflow level_value 옵션은 RAID 수준을 정의합니다.
선택 사항: RAID 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: RAID에서 각 장치에 대한 자세한 정보를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RAID 드라이브에 파일 시스템을 생성합니다.
mkfs -t xfs /dev/md0
# mkfs -t xfs /dev/md0Copy to Clipboard Copied! Toggle word wrap Toggle overflow xfs 를 드라이브를 포맷하기 위해 선택한 파일 시스템으로 바꿉니다.
RAID 드라이브의 마운트 지점을 생성하고 마운트합니다.
mkdir /mnt/raid1 mount /dev/md0 /mnt/raid1
# mkdir /mnt/raid1 # mount /dev/md0 /mnt/raid1Copy to Clipboard Copied! Toggle word wrap Toggle overflow /mnt/raid1 을 마운트 지점으로 바꿉니다.
RHEL이 시스템 부팅 시
md0RAID 장치를 자동으로 마운트하려면/etc/fstab 파일에장치의 항목을 추가합니다./dev/md0 /mnt/raid1 xfs defaults 0 0
/dev/md0 /mnt/raid1 xfs defaults 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.8. 웹 콘솔에서 RAID 생성 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8 웹 콘솔에서 RAID를 구성합니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
시스템에
cockpit-storaged패키지가 설치되어 있습니다. - 물리적 디스크를 연결했으며 시스템에서 볼 수 있습니다.
프로세스
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 메뉴 버튼을 클릭하고 Create MDRAID device 를 선택합니다.
- RAID 장치 생성 필드에 새 RAID의 이름을 입력합니다.
- RAID 수준 드롭다운 목록에서 사용하려는 RAID 수준을 선택합니다.
Chunk Size 드롭다운 목록에서 사용 가능한 옵션 목록에서 크기를 선택합니다.
Chunk Size 값은 각 블록이 데이터 쓰기를 위한 크기를 지정합니다. 예를 들어 청크 크기가 512KiB인 경우 시스템은 첫 번째 512KiB를 첫 번째 디스크에 쓰고 두 번째 512KiB는 두 번째 디스크에 기록되고 세 번째 청크는 세 번째 디스크에 작성됩니다. RAID에 세 개의 디스크가 있는 경우 네 번째 512KiB가 첫 번째 디스크에 다시 작성됩니다.
- RAID에 사용할 디스크를 선택합니다.
- 생성을 클릭합니다.
검증
- 스토리지 섹션으로 이동하여 RAID 장치 상자에서 새 RAID를 볼 수 있는지 확인합니다.
20.9. 웹 콘솔에서 RAID 포맷 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8 웹 콘솔에서 소프트웨어 RAID 장치를 포맷하고 마운트할 수 있습니다.
볼륨 크기 및 선택한 포맷 옵션에 따라 포맷 지정에 몇 분이 걸릴 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
cockpit-storaged패키지가 설치되어 있습니다. - 물리적 디스크를 연결했으며 시스템에서 볼 수 있습니다.
- RAID를 생성했습니다.
프로세스
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 포맷할 RAID 의 메뉴 버튼을 클릭합니다.
- 드롭다운 메뉴에서 선택합니다.
- 형식 필드에 이름을 입력합니다.
- 마운트 지점 필드에서 마운트 경로를 추가합니다.
- 유형 드롭다운 목록에서 파일 시스템 유형을 선택합니다.
- 선택 사항: 디스크에 중요한 데이터가 포함되어 있고 덮어쓰려는 경우 0으로 기존 데이터 덮어쓰기 옵션을 선택합니다. 그렇지 않으면 RHEL 웹 콘솔은 디스크 헤더만 다시 작성합니다.
- Encryption 드롭다운 메뉴에서 암호화 유형을 선택합니다. 볼륨을 암호화하지 않으려면 암호화 없음 을 선택합니다.
- 부팅 시 드롭다운 메뉴에서 볼륨을 마운트할 시기를 선택합니다.
마운트 옵션 섹션에서 다음을 수행합니다.
- 볼륨을 읽기 전용 논리 볼륨으로 마운트하려면 마운트 읽기 전용 확인란을 선택합니다.
- 기본 마운트 옵션을 변경하려면 사용자 정의 마운트 옵션 확인란을 선택하고 마운트 옵션을 추가합니다.
RAID 파티션을 포맷합니다.
- 파티션을 포맷하고 마운트하려면 버튼을 클릭합니다.
- 파티션만 포맷하려면 버튼을 클릭합니다.
검증
- 포맷이 성공적으로 완료되면 스토리지 페이지의 Storage 테이블에 포맷된 논리 볼륨의 세부 정보를 확인할 수 있습니다.
20.10. 웹 콘솔을 사용하여 RAID에서 파티션 테이블 생성 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8 인터페이스에서 생성된 새 소프트웨어 RAID 장치의 파티션 테이블로 RAID를 포맷합니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
cockpit-storaged패키지가 설치되어 있습니다. - 물리적 디스크를 연결했으며 시스템에서 볼 수 있습니다.
- RAID를 생성했습니다.
프로세스
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 파티션 테이블을 만들 RAID 장치를 클릭합니다.
- MDRAID 장치 섹션에서 Cryostat 메뉴 버튼을 클릭합니다.
- 드롭다운 메뉴에서 를 선택합니다.
Cryo stat 디스크 대화 상자에서 다음을 선택합니다.
파티션:
- 파티션이 모든 시스템 및 장치와 호환되어야 하는 경우 MBR 을 선택합니다.
- 파티션이 최신 시스템과 호환되어야 하고 하드 디스크가 2TB 이상이어야 하는 경우 GPT 를 선택합니다.
- 파티션이 필요하지 않은 경우 파티션 없음 을 선택합니다.
덮어쓰기:
- 디스크에 중요한 데이터가 포함되어 있고 덮어쓰려는 경우 0으로 기존 데이터 덮어쓰기 옵션을 선택합니다. 그렇지 않으면 RHEL 웹 콘솔은 디스크 헤더만 다시 작성합니다.
- Cryostat 클릭합니다.
20.11. 웹 콘솔을 사용하여 RAID에서 파티션 생성 링크 복사링크가 클립보드에 복사되었습니다!
기존 파티션 테이블에 파티션을 만듭니다. 파티션을 만든 후 더 많은 파티션을 만들 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔이 설치되고 액세스할 수 있습니다. 자세한 내용은 웹 콘솔 설치를 참조하십시오.
-
cockpit-storaged패키지가 시스템에 설치됩니다. - RAID의 파티션 테이블이 생성됩니다.
프로세스
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 파티션을 만들 RAID 장치를 클릭합니다.
- RAID 장치 페이지에서 GPT 파티션 섹션으로 스크롤하고 메뉴 버튼 [ Cryostat]을 클릭합니다.
- 을 클릭하고 Create partition 필드에 파일 시스템의 이름을 입력합니다. 이름에 공백을 사용하지 마십시오.
- 마운트 지점 필드에 마운트 경로를 입력합니다.
- 유형 드롭다운 목록에서 파일 시스템 유형을 선택합니다.
- 크기 슬라이더에서 파티션 크기를 설정합니다.
- 선택 사항: 디스크에 중요한 데이터가 포함되어 있고 덮어쓰려는 경우 0으로 기존 데이터 덮어쓰기를 선택합니다. 그렇지 않으면 RHEL 웹 콘솔은 디스크 헤더만 다시 작성합니다.
- Encryption 드롭다운 메뉴에서 암호화 유형을 선택합니다. 볼륨을 암호화하지 않으려면 암호화 없음 을 선택합니다.
- 부팅 시 드롭다운 메뉴에서 볼륨을 마운트할 시기를 선택합니다.
마운트 옵션 섹션에서 다음을 수행합니다.
- 볼륨을 읽기 전용 논리 볼륨으로 마운트하려면 마운트 읽기 전용 확인란을 선택합니다.
- 기본 마운트 옵션을 변경하려면 사용자 정의 마운트 옵션 확인란을 선택하고 마운트 옵션을 추가합니다.
파티션을 만듭니다.
- 파티션을 만들고 마운트하려면 버튼을 클릭합니다.
파티션을 만들려면 버튼을 클릭합니다.
볼륨 크기 및 선택한 포맷 옵션에 따라 포맷 지정에 몇 분이 걸릴 수 있습니다.
검증
- 기본 스토리지 페이지의 Storage 표에서 포맷된 논리 볼륨의 세부 정보를 확인할 수 있습니다.
20.12. 웹 콘솔을 사용하여 RAID 상단에 볼륨 그룹 생성 링크 복사링크가 클립보드에 복사되었습니다!
소프트웨어 RAID에서 볼륨 그룹을 빌드합니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
cockpit-storaged패키지가 설치되어 있습니다. - 포맷되지 않고 마운트되지 않은 RAID 장치가 있습니다.
프로세스
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 메뉴 버튼을 클릭하고 LVM2 볼륨 그룹 만들기 를 선택합니다.
- Create LVM2 volume group 필드에 새 볼륨 그룹의 이름을 입력합니다.
디스크 목록에서 RAID 장치를 선택합니다.
목록에 RAID가 표시되지 않으면 시스템에서 RAID를 마운트 해제합니다. RHEL 8 시스템에서 RAID 장치를 사용하지 않아야 합니다.
- 을 클릭합니다.
20.13. 스토리지 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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy 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
20.14. RAID 확장 링크 복사링크가 클립보드에 복사되었습니다!
mdadm 유틸리티의 --grow 옵션을 사용하여 RAID를 확장할 수 있습니다.
사전 요구 사항
- 디스크 공간이 충분합니다.
-
parted패키지가 설치되어 있습니다.
절차
- RAID 파티션 확장. 자세한 내용은 parted로 파티션 재조정을 참조하십시오.
RAID를 파티션 용량의 최대로 확장합니다.
mdadm --grow --size=max /dev/md0
# mdadm --grow --size=max /dev/md0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 크기를 설정하려면 kB에서
--size매개변수 값을 작성합니다(예:--size=524228).파일 시스템의 크기를 늘립니다. 예를 들어 볼륨이 XFS를 사용하고 /mnt/ 에 마운트된 경우 다음을 입력합니다.
xfs_growfs /mnt/
# xfs_growfs /mnt/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.15. RAID 축소 링크 복사링크가 클립보드에 복사되었습니다!
mdadm 유틸리티의 --grow 옵션을 사용하여 RAID를 축소할 수 있습니다.
XFS 파일 시스템에서는 축소를 지원하지 않습니다.
사전 요구 사항
-
parted패키지가 설치되어 있습니다.
절차
- 파일 시스템을 축소합니다. 자세한 내용은 파일 시스템 관리를 참조하십시오.
RAID를 크기로 줄입니다(예: 512MB ).
mdadm --grow --size=524228 /dev/md0
# mdadm --grow --size=524228 /dev/md0Copy to Clipboard Copied! Toggle word wrap Toggle overflow kB에
--size매개변수를 작성합니다.- 파티션을 필요한 크기로 줄입니다.
20.16. 설치 후 루트 디스크를 RAID1로 변환 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux 8을 설치한 후 RAID1 미러가 아닌 루트 디스크를 RAID1 미러로 변환할 수 있습니다.
PowerPC(PPC) 아키텍처에서 다음과 같은 추가 단계를 수행합니다.
사전 요구 사항
Red Hat 지식베이스 솔루션 단계 완료 How do I convert my root disk to RAID1 after installation of Red Hat Enterprise Linux 7?
참고grub2-install /dev/sda명령을 실행하면 PowerPC 시스템에서 작동하지 않고 오류가 반환되지만 시스템이 예상대로 부팅됩니다.
절차
/dev/sda1 의 PowerPC 참조 플랫폼(PReP) 부팅 파티션 내용을 /dev/sdb1 로 복사합니다.
dd if=/dev/sda1 of=/dev/sdb1
# dd if=/dev/sda1 of=/dev/sdb1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 디스크의 첫 번째 파티션에서
prep및boot플래그를 업데이트합니다.parted /dev/sda set 1 prep on parted /dev/sda set 1 boot on parted /dev/sdb set 1 prep on parted /dev/sdb set 1 boot on
$ parted /dev/sda set 1 prep on $ parted /dev/sda set 1 boot on $ parted /dev/sdb set 1 prep on $ parted /dev/sdb set 1 boot onCopy to Clipboard Copied! Toggle word wrap Toggle overflow
20.17. 고급 RAID 장치 생성 링크 복사링크가 클립보드에 복사되었습니다!
경우에 따라 설치가 완료되기 전에 생성된 배열에 운영 체제를 설치할 수 있습니다. 일반적으로 이는 복잡한 RAID 장치에서 /boot 또는 루트 파일 시스템 배열을 설정하는 것을 의미합니다. 이러한 경우 Anaconda 설치 프로그램에서 지원하지 않는 배열 옵션을 사용해야 할 수 있습니다. 이 문제를 해결하려면 다음 단계를 수행합니다.
설치 프로그램의 제한된 복구 모드에는 man 페이지가 포함되어 있지 않습니다. mdadm 및 md man 페이지에는 사용자 지정 RAID 배열을 생성하는 데 유용한 정보가 포함되어 있으며 해결 방법 전체에서 필요할 수 있습니다.
절차
- 설치 디스크를 삽입합니다.
-
초기 부팅 중에 설치 또는 업그레이드 대신 Rescue Mode 를 선택합니다. 시스템이
Rescue 모드로완전히 부팅되면 명령행 터미널이 표시됩니다. 이 터미널에서 다음 명령을 실행합니다.
-
parted명령을 사용하여 대상 하드 드라이브에 RAID 파티션을 생성합니다. -
사용 가능한 모든 설정과 옵션을 사용하여 해당 파티션의
mdadm명령을 사용하여 raid 배열을 수동으로 생성합니다.
-
- 선택 사항: 배열을 만든 후 배열에 파일 시스템을 생성합니다.
- 컴퓨터를 재부팅하고 설치 또는 업그레이드 를 선택하여 설치할 수 있습니다. Anaconda 설치 프로그램은 시스템의 디스크를 검색하므로 기존 RAID 장치를 찾습니다.
- 시스템에서 디스크를 사용하는 방법에 대해 묻는 경우 사용자 지정 레이아웃 을 선택하고 클릭합니다. 장치 목록에 기존 MD RAID 장치가 나열됩니다.
- RAID 장치를 선택하고 을 클릭합니다.
- 이전에 생성하지 않은 경우 마운트 지점을 구성하고 선택적으로 사용해야 하는 파일 시스템의 유형을 구성한 다음 를 클릭합니다. Anaconda는 기존 RAID 장치에 설치되고 Rescue 모드로 만들 때 선택한 사용자 지정 옵션을 유지합니다.
20.18. RAID를 모니터링하기 위한 이메일 알림 설정 링크 복사링크가 클립보드에 복사되었습니다!
mdadm 툴을 사용하여 RAID를 모니터링하도록 이메일 경고를 설정할 수 있습니다. MAILADDR 변수가 필수 이메일 주소로 설정되면 모니터링 시스템에서 추가된 이메일 주소로 경고를 보냅니다.
사전 요구 사항
-
mdadm패키지가 설치되어 있습니다. - 메일 서비스가 설정됩니다.
절차
RAID 세부 정보를 스캔하여 배열 모니터링을 위해
/etc/mdadm.conf구성 파일을 만듭니다.mdadm --detail --scan >> /etc/mdadm.conf
# mdadm --detail --scan >> /etc/mdadm.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow ARRAY및MAILADDR은 필수 변수입니다.선택한 텍스트 편집기로
/etc/mdadm.conf구성 파일을 열고 알림에 대한 메일 주소와 함께MAILADDR변수를 추가합니다. 예를 들어 새 행을 추가합니다.MAILADDR example@example.com
MAILADDR example@example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기에서 example@example.com 는 배열 모니터링에서 경고를 수신하려는 이메일 주소입니다.
-
/etc/mdadm.conf파일에 변경 사항을 저장하고 닫습니다.
20.19. RAID에서 실패한 디스크 교체 링크 복사링크가 클립보드에 복사되었습니다!
나머지 디스크를 사용하여 실패한 디스크에서 데이터를 재구성할 수 있습니다. RAID 수준 및 총 디스크 수는 성공적인 데이터 재구성에 필요한 최소 디스크 양을 결정합니다.
이 절차에서는 /dev/md0 RAID에 4개의 디스크가 포함되어 있습니다. /dev/sdd 디스크가 실패했으므로 /dev/sdf 디스크로 교체해야 합니다.
사전 요구 사항
- 교체용 예비 디스크입니다.
-
mdadm패키지가 설치되어 있습니다.
절차
실패한 디스크를 확인합니다.
커널 로그를 확인합니다.
journalctl -k -f
# journalctl -k -fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 유사한 메시지를 검색합니다.
md/raid:md0: Disk failure on sdd, disabling device. md/raid:md0: Operation continuing on 3 devices.
md/raid:md0: Disk failure on sdd, disabling device. md/raid:md0: Operation continuing on 3 devices.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
키보드에서 Ctrl+C 눌러
journalctl프로그램을 종료합니다.
실패한 디스크를 결함으로 표시합니다.
mdadm --manage /dev/md0 --fail /dev/sdd
# mdadm --manage /dev/md0 --fail /dev/sddCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 오류가 발생한 디스크가 올바르게 표시되는지 확인합니다.
mdadm --detail /dev/md0
# mdadm --detail /dev/md0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 끝에는 /dev/md0 RAID의 디스크 목록이 있으며 여기서 디스크 /dev/sdd 에 결함이 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RAID에서 실패한 디스크를 제거하십시오.
mdadm --manage /dev/md0 --remove /dev/sdd
# mdadm --manage /dev/md0 --remove /dev/sddCopy to Clipboard Copied! Toggle word wrap Toggle overflow 주의RAID가 다른 디스크 오류를 유지할 수 없는 경우 새 디스크에 활성 동기화 상태가 될 때까지 디스크를 제거하지 마십시오.
watch cat /proc/mdstat명령을 사용하여 진행 상황을 모니터링할 수 있습니다.RAID에 새 디스크를 추가합니다.
mdadm --manage /dev/md0 --add /dev/sdf
# mdadm --manage /dev/md0 --add /dev/sdfCopy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/md0 RAID에는 새 디스크 /dev/sdf 가 포함되고
mdadm서비스는 다른 디스크에서 데이터 복사를 자동으로 시작합니다.
검증
배열의 세부 정보를 확인합니다.
mdadm --detail /dev/md0
# mdadm --detail /dev/md0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령이 /dev/md0 RAID의 디스크 목록을 표시하는 경우 새 디스크에 출력 마지막에 예비 재구축 상태가 있는 경우 데이터는 여전히 다른 디스크에서 복사되고 있습니다.
Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 4 8 80 2 spare rebuilding /dev/sdf 3 8 64 3 active sync /dev/sde
Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 4 8 80 2 spare rebuilding /dev/sdf 3 8 64 3 active sync /dev/sdeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터 복사가 완료되면 새 디스크에 활성 동기화 상태가 됩니다.
20.20. RAID 디스크 복구 링크 복사링크가 클립보드에 복사되었습니다!
복구 옵션을 사용하여 RAID 배열의 디스크를 복구할 수 있습니다.
사전 요구 사항
-
mdadm패키지가 설치되어 있습니다.
절차
실패한 디스크 동작이 있는지 배열을 확인합니다.
echo check > /sys/block/md0/md/sync_action
# echo check > /sys/block/md0/md/sync_actionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 배열과
/sys/block/md0/md/sync_action에 동기화 작업이 표시됩니다.-
선택한 텍스트 편집기를 사용하여
/sys/block/md0/md/sync_action파일을 열고 디스크 동기화 실패에 대한 메시지가 있는지 확인합니다. -
/sys/block/md0/mismatch_cnt파일을 확인합니다.mismatch_cnt매개변수가0이 아닌 경우 RAID 디스크를 복구해야 합니다. 배열의 디스크를 복구합니다.
echo repair > /sys/block/md0/md/sync_action
# echo repair > /sys/block/md0/md/sync_actionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 배열의 디스크를 복구하고 결과를
/sys/block/md0/md/sync_action파일에 씁니다.동기화 진행 상황을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21장. LUKS를 사용하여 블록 장치 암호화 링크 복사링크가 클립보드에 복사되었습니다!
디스크 암호화를 사용하면 블록 장치의 데이터를 암호화하여 보호할 수 있습니다. 장치의 암호 해독된 콘텐츠에 액세스하려면 암호 또는 키를 인증으로 입력합니다. 이는 시스템에서 물리적으로 제거된 경우에도 장치의 콘텐츠를 보호하는 데 도움이 되므로 이동식 미디어와 이동식 미디어에 중요합니다. LUKS 형식은 Red Hat Enterprise Linux에서 블록 장치 암호화의 기본 구현입니다.
21.1. LUKS 디스크 암호화 링크 복사링크가 클립보드에 복사되었습니다!
Linux Unified Key Setup-on-disk-format (LUKS)은 암호화된 장치 관리를 단순화하는 도구 세트를 제공합니다. LUKS를 사용하면 블록 장치를 암호화하고 여러 사용자 키를 활성화하여 마스터 키를 해독할 수 있습니다. 파티션의 대규모 암호화의 경우 이 마스터 키를 사용합니다.
Red Hat Enterprise Linux는 LUKS를 사용하여 블록 장치 암호화를 수행합니다. 기본적으로 블록 장치를 암호화하는 옵션은 설치 중에 선택되지 않습니다. 디스크를 암호화할 옵션을 선택하면 시스템을 부팅할 때마다 시스템에서 암호를 입력하라는 메시지가 표시됩니다. 이 암호는 파티션을 해독하는 대규모 암호화 키의 잠금을 해제합니다. 기본 파티션 테이블을 수정하려면 암호화할 파티션을 선택할 수 있습니다. 이는 파티션 테이블 설정에서 설정됩니다.
암호화
LUKS에 사용되는 기본 암호는 aes-xts-plain64 입니다. LUKS의 기본 키 크기는 512비트입니다. Anaconda XTS 모드를 사용하는 LUKS의 기본 키 크기는 512비트입니다. 다음은 사용 가능한 암호입니다.
- Advanced Encryption Standard(AES)
- twofish
- serpent
LUKS에서 수행하는 작업
- LUKS는 전체 블록 장치를 암호화하므로 이동식 스토리지 미디어 또는 랩톱 디스크 드라이브와 같은 모바일 장치의 콘텐츠를 보호하는 데 적합합니다.
- 암호화된 블록 장치의 기본 내용은 임의이므로 스왑 장치를 암호화하는 데 유용합니다. 이는 데이터 저장을 위해 특별히 포맷된 블록 장치를 사용하는 특정 데이터베이스에서도 유용할 수 있습니다.
- LUKS는 기존 장치 매퍼 커널 하위 시스템을 사용합니다.
- LUKS는 사전 공격으로부터 보호하는 암호 강화를 제공합니다.
- LUKS 장치에는 여러 개의 키 슬롯이 포함되어 있으므로 백업 키 또는 암호를 추가할 수 있습니다.
다음 시나리오에는 LUKS를 사용하지 않는 것이 좋습니다.
- LUKS와 같은 디스크 암호화 솔루션은 시스템이 꺼진 경우에만 데이터를 보호합니다. 시스템이 있고 LUKS가 디스크의 암호를 해독한 후 해당 디스크의 파일은 액세스 권한이 있는 모든 사용자가 사용할 수 있습니다.
- 여러 사용자가 동일한 장치에 별도의 액세스 키를 사용해야 하는 시나리오입니다. LUKS1 형식은 8개의 키 슬롯을 제공하며 LUKS2는 최대 32개의 키 슬롯을 제공합니다.
- 파일 수준 암호화가 필요한 애플리케이션입니다.
21.2. RHEL의 LUKS 버전 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Enterprise Linux에서 LUKS 암호화의 기본 형식은 LUKS2입니다. 이전 LUKS1 형식은 완전히 지원되며 이전 Red Hat Enterprise Linux 릴리스와 호환되는 형식으로 제공됩니다. LUKS2 재암호화는 LUKS1 재암호화와 비교하여 보다 강력하고 안전한 것으로 간주됩니다.
LUKS2 형식을 사용하면 바이너리 구조를 수정할 필요 없이 다양한 부분을 나중에 업데이트할 수 있습니다. 내부적으로는 메타데이터에 JSON 텍스트 형식을 사용하고, 메타데이터 중복을 제공하고, 메타데이터 손상을 감지하며, 메타데이터 복사본에서 자동으로 복구합니다.
LUKS2 및 LUKS1은 디스크를 암호화하기 위해 다른 명령을 사용하므로 LUKS1만 지원하는 시스템에서 LUKS2를 사용하지 마십시오. LUKS 버전에 잘못된 명령을 사용하면 데이터가 손실될 수 있습니다.
| LUKS 버전 | 암호화 명령 |
|---|---|
| LUKS2 |
|
| LUKS1 |
|
온라인 재암호화
LUKS2 형식은 장치가 사용 중인 동안 암호화된 장치 재암호화를 지원합니다. 예를 들어 다음 작업을 수행하기 위해 장치에서 파일 시스템을 마운트 해제할 필요가 없습니다.
- 볼륨 키 변경
암호화 알고리즘 변경
암호화되지 않은 장치를 암호화할 때 파일 시스템을 마운트 해제해야 합니다. 암호화를 간단히 초기화한 후 파일 시스템을 다시 마운트할 수 있습니다.
LUKS1 형식은 온라인 재암호화 기능을 지원하지 않습니다.
변환
특정 상황에서 LUKS1을 LUKS2로 변환할 수 있습니다. 다음 시나리오에서는 변환이 특히 불가능합니다.
-
LUKS1 장치는 PBD(Policy-Based Decryption) Clevis 솔루션이 사용하는 것으로 표시됩니다.
cryptsetup툴은 일부luksmeta메타데이터가 감지되면 장치를 변환하지 않습니다. - 장치가 활성 상태입니다. 변환이 가능하려면 장치가 비활성 상태여야 합니다.
21.3. LUKS2 재암호화 중에 데이터 보호 옵션 링크 복사링크가 클립보드에 복사되었습니다!
LUKS2는 재암호화 프로세스 중에 성능 또는 데이터 보호 우선 순위를 지정하는 몇 가지 옵션을 제공합니다. 복원력 옵션에 대해 다음 모드를 제공하며, cryptsetup reencrypt -- 선택할 수 있습니다. 여기서 < resilience resilience-mode /dev/ <device_ID> 명령을 사용하여 이러한 모드를device_ID >를 장치의 ID로 교체할 수 있습니다.
checksum기본 모드입니다. 데이터 보호 및 성능 균형 유지.
이 모드에서는 재암호화 영역에 섹터의 개별 체크섬을 저장하므로, LUKS2에서 다시 암호화한 섹터를 복구 프로세스에서 감지할 수 있습니다. 이 모드에서는 블록 장치 섹터 쓰기가 atomic이어야 합니다.
journal- 가장 안전한 모드이지만 가장 느린 모드이기도 합니다. 이 모드는 바이너리 영역에서 재암호화 영역을 저널링하므로 LUKS2는 데이터를 두 번 씁니다.
none-
none모드는 성능에 우선 순위를 지정하고 데이터 보호를 제공하지 않습니다.SIGTERM신호 또는 Ctrl+C 키를 누른 사용자와 같은 안전한 프로세스 종료로부터만 데이터를 보호합니다. 예기치 않은 시스템 오류 또는 애플리케이션 오류로 인해 데이터가 손상될 수 있습니다.
LUKS2 재암호화 프로세스가 강제 종료되면 LUKS2는 다음 방법 중 하나로 복구를 수행할 수 있습니다.
- automatically
다음 작업 중 하나를 수행하면 다음 LUKS2 장치 열기 작업 중에 자동 복구 작업이 트리거됩니다.
-
cryptsetup open명령 실행 -
systemd-cryptsetup명령을 사용하여 장치를 연결합니다.
-
- Manual
-
LUKS2 장치에서
cryptsetup repair /dev/ <device_ID> 명령을 사용하여 다음을 수행합니다.
21.4. LUKS2를 사용하여 블록 장치의 기존 데이터 암호화 링크 복사링크가 클립보드에 복사되었습니다!
LUKS2 형식을 사용하여 아직 암호화되지 않은 장치에서 기존 데이터를 암호화할 수 있습니다. 새 LUKS 헤더가 장치의 헤드에 저장됩니다.
사전 요구 사항
- 블록 장치에는 파일 시스템이 있습니다.
데이터를 백업했습니다.
주의하드웨어, 커널 또는 사람의 오류로 인해 암호화 프로세스 중에 데이터가 손실될 수 있습니다. 데이터 암호화를 시작하기 전에 신뢰할 수 있는 백업이 있는지 확인합니다.
절차
암호화하려는 장치에서 모든 파일 시스템을 마운트 해제합니다. 예를 들면 다음과 같습니다.
umount /dev/mapper/vg00-lv00
# umount /dev/mapper/vg00-lv00Copy to Clipboard Copied! Toggle word wrap Toggle overflow LUKS 헤더 저장에 사용 가능한 공간을 만듭니다. 시나리오에 맞는 다음 옵션 중 하나를 사용합니다.
논리 볼륨을 암호화하는 경우 파일 시스템의 크기를 조정하지 않고 논리 볼륨을 확장할 수 있습니다. 예를 들면 다음과 같습니다.
lvextend -L+32M /dev/mapper/vg00-lv00
# lvextend -L+32M /dev/mapper/vg00-lv00Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
parted와 같은 파티션 관리 도구를 사용하여 파티션을 확장하십시오. -
장치의 파일 시스템을 축소합니다. ext
2, ext3 또는 ext4 파일 시스템에 resize2fs유틸리티를 사용할 수 있습니다. XFS 파일 시스템을 축소할 수 없습니다.
암호화를 초기화합니다.
cryptsetup reencrypt --encrypt --init-only --reduce-device-size 32M /dev/mapper/vg00-lv00 lv00_encrypted
# cryptsetup reencrypt --encrypt --init-only --reduce-device-size 32M /dev/mapper/vg00-lv00 lv00_encrypted /dev/mapper/lv00_encrypted is now active and ready for online encryption.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 장치를 마운트합니다.
mount /dev/mapper/lv00_encrypted /mnt/lv00_encrypted
# mount /dev/mapper/lv00_encrypted /mnt/lv00_encryptedCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/crypttab파일에 영구 매핑 항목을 추가합니다.luksUUID를 찾습니다.cryptsetup luksUUID /dev/mapper/vg00-lv00
# cryptsetup luksUUID /dev/mapper/vg00-lv00 a52e2cc9-a5be-47b8-a95d-6bdf4f2d9325Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택한 텍스트 편집기에서
/etc/crypttab을 열고 이 파일에 장치를 추가합니다.vi /etc/crypttab
$ vi /etc/crypttab lv00_encrypted UUID=a52e2cc9-a5be-47b8-a95d-6bdf4f2d9325 noneCopy to Clipboard Copied! Toggle word wrap Toggle overflow a52e2cc9-a5be-47b8-a95d-6bdf4f2d9325 를 장치의
luksUUID로 바꿉니다.dracut을 사용하여 initramfs 새로 고침 :dracut -f --regenerate-all
$ dracut -f --regenerate-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow
영구 마운트 항목을
/etc/fstab파일에 추가합니다.활성 LUKS 블록 장치의 파일 시스템의 UUID를 찾습니다.
blkid -p /dev/mapper/lv00_encrypted
$ blkid -p /dev/mapper/lv00_encrypted /dev/mapper/lv00-encrypted: UUID="37bc2492-d8fa-4969-9d9b-bb64d3685aa9" BLOCK_SIZE="4096" TYPE="xfs" USAGE="filesystem"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택한 텍스트 편집기에서
/etc/fstab를 열고 이 파일에 장치를 추가합니다. 예를 들면 다음과 같습니다.vi /etc/fstab
$ vi /etc/fstab UUID=37bc2492-d8fa-4969-9d9b-bb64d3685aa9 /home auto rw,user,auto 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 37bc2492-d8fa-4969-9d9b-bb64d3685aa9 를 파일 시스템의 UUID로 바꿉니다.
온라인 암호화를 다시 시작하십시오.
cryptsetup reencrypt --resume-only /dev/mapper/vg00-lv00
# cryptsetup reencrypt --resume-only /dev/mapper/vg00-lv00 Enter passphrase for /dev/mapper/vg00-lv00: Auto-detected active dm device 'lv00_encrypted' for data device /dev/mapper/vg00-lv00. Finished, time 00:31.130, 10272 MiB written, speed 330.0 MiB/sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
기존 데이터가 암호화되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 빈 블록 장치의 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.5. 분리된 헤더로 LUKS2를 사용하여 블록 장치에서 기존 데이터 암호화 링크 복사링크가 클립보드에 복사되었습니다!
LUKS 헤더를 저장하기 위한 여유 공간을 생성하지 않고 블록 장치의 기존 데이터를 암호화할 수 있습니다. 헤더는 분리된 위치에 저장되며 추가 보안 계층 역할을 합니다. 절차에서는 LUKS2 암호화 형식을 사용합니다.
사전 요구 사항
- 블록 장치에는 파일 시스템이 있습니다.
데이터가 백업됩니다.
주의하드웨어, 커널 또는 사람의 오류로 인해 암호화 프로세스 중에 데이터가 손실될 수 있습니다. 데이터 암호화를 시작하기 전에 신뢰할 수 있는 백업이 있는지 확인합니다.
절차
장치의 모든 파일 시스템을 마운트 해제합니다. 예를 들면 다음과 같습니다.
umount /dev/<nvme0n1p1>
# umount /dev/<nvme0n1p1>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;nvme0n1p1>을 마운트 해제하려는 파티션에 해당하는 장치 식별자로 바꿉니다.암호화를 초기화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 교체:
-
LUKS
헤더가 분리된 파일 경로가 있는 </home/header>입니다. 분리된 LUKS 헤더는 나중에 암호화된 장치를 잠금 해제하려면 액세스할 수 있어야 합니다. -
암호화 후 생성된 장치 매퍼의 이름이 <
nvme_encrypted>입니다.
-
LUKS
장치를 마운트합니다.
mount /dev/mapper/<nvme_encrypted> /mnt/<nvme_encrypted>
# mount /dev/mapper/<nvme_encrypted> /mnt/<nvme_encrypted>Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/crypttab파일에 영구 매핑 항목을 추가합니다.<nvme_encrypted> /dev/disk/by-id/<nvme-partition-id> none header=</home/header>
# <nvme_encrypted> /dev/disk/by-id/<nvme-partition-id> none header=</home/header>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;nvme-partition-id>를 NVMe 파티션의 식별자로 바꿉니다.dracut을 사용하여 initramfs를 다시 생성 :dracut -f --regenerate-all -v
# dracut -f --regenerate-all -vCopy to Clipboard Copied! Toggle word wrap Toggle overflow 영구 마운트 항목을
/etc/fstab파일에 추가합니다.활성 LUKS 블록 장치의 파일 시스템의 UUID를 찾습니다.
blkid -p /dev/mapper/<nvme_encrypted>
$ blkid -p /dev/mapper/<nvme_encrypted> /dev/mapper/<nvme_encrypted>: UUID="37bc2492-d8fa-4969-9d9b-bb64d3685aa9" BLOCK_SIZE="4096" TYPE="xfs" USAGE="filesystem"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 텍스트 편집기에서
/etc/fstab를 열고 이 파일에 장치를 추가합니다. 예를 들면 다음과 같습니다.UUID=<file_system_UUID> /home auto rw,user,auto 0
UUID=<file_system_UUID> /home auto rw,user,auto 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;file_system_UUID>를 이전 단계에서 찾은 파일 시스템의 UUID로 바꿉니다.
온라인 암호화를 다시 시작하십시오.
cryptsetup reencrypt --resume-only --header </home/header> /dev/<nvme0n1p1>
# cryptsetup reencrypt --resume-only --header </home/header> /dev/<nvme0n1p1> Enter passphrase for /dev/<nvme0n1p1>: Auto-detected active dm device '<nvme_encrypted>' for data device /dev/<nvme0n1p1>. Finished, time 00m51s, 10 GiB written, speed 198.2 MiB/sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
분리된 헤더와 함께 LUKS2를 사용하는 블록 장치의 기존 데이터가 암호화되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 빈 블록 장치의 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.6. LUKS2를 사용하여 빈 블록 장치 암호화 링크 복사링크가 클립보드에 복사되었습니다!
LUKS2 형식을 사용하여 암호화된 스토리지에 사용할 수 있는 빈 블록 장치를 암호화할 수 있습니다.
사전 요구 사항
-
빈 블록 장치.
lsblk와 같은 명령을 사용하여 해당 장치에 실제 데이터(예: 파일 시스템)가 없는지 확인할 수 있습니다.
절차
파티션을 암호화된 LUKS 파티션으로 설정:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 LUKS 파티션을 엽니다:
cryptsetup open /dev/nvme0n1p1 nvme0n1p1_encrypted
# cryptsetup open /dev/nvme0n1p1 nvme0n1p1_encrypted Enter passphrase for /dev/nvme0n1p1:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면 파티션 잠금을 해제하고 장치 매퍼를 사용하여 새 장치에 매핑합니다. 암호화된 데이터를 덮어쓰지 않으려면 이 명령은
/dev/mapper/device_mapped_name경로를 사용하여 장치가 암호화된 장치임을 커널에 경고하고 LUKS를 통해 처리합니다.암호화된 데이터를 파티션에 쓰도록 파일 시스템을 만들고, 장치 매핑된 이름을 통해 액세스해야 합니다.
mkfs -t ext4 /dev/mapper/nvme0n1p1_encrypted
# mkfs -t ext4 /dev/mapper/nvme0n1p1_encryptedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 장치를 마운트합니다.
mount /dev/mapper/nvme0n1p1_encrypted mount-point
# mount /dev/mapper/nvme0n1p1_encrypted mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
빈 블록 장치가 암호화되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 암호화된 빈 블록 장치의 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.7. 웹 콘솔에서 LUKS 암호 구성 링크 복사링크가 클립보드에 복사되었습니다!
시스템의 기존 논리 볼륨에 암호화를 추가하려면 볼륨 포맷을 통해서만 이 작업을 수행할 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
cockpit-storaged패키지가 시스템에 설치됩니다. - 암호화 없이 기존 논리 볼륨을 사용할 수 있습니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 암호화할 스토리지 대한 메뉴 버튼을 클릭하고 을 클릭합니다.
- 암호화 필드에서 암호화 사양, LUKS1 또는 LUKS2 를 선택합니다.
- 새 암호를 설정하고 확인합니다.
- 선택 사항: 추가 암호화 옵션을 수정합니다.
- 형식 설정 완료.
- 형식 을 클릭합니다.
21.8. 웹 콘솔에서 LUKS 암호 변경 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔의 암호화된 디스크 또는 파티션에서 LUKS 암호를 변경합니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
cockpit-storaged패키지가 시스템에 설치됩니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 패널에서 스토리지를 클릭합니다.
- 스토리지 테이블에서 암호화된 데이터가 있는 디스크를 선택합니다.
- 디스크 페이지에서 Keys 섹션으로 스크롤하여 편집 버튼을 클릭합니다.
암호 변경 대화 상자 창에서 다음을 수행합니다.
- 현재 암호를 입력합니다.
- 새 암호를 입력합니다.
- 새 암호를 확인합니다.
- 저장을 클릭합니다.
21.9. 명령줄을 사용하여 LUKS 암호 변경 링크 복사링크가 클립보드에 복사되었습니다!
명령줄을 사용하여 암호화된 디스크 또는 파티션에서 LUKS 암호를 변경합니다. cryptsetup 유틸리티를 사용하면 다양한 구성 옵션 및 기능으로 암호화 프로세스를 제어하고 기존 자동화 워크플로에 통합할 수 있습니다.
사전 요구 사항
-
sudo를 사용하여 관리 명령을 입력할 수 있는루트권한 또는 권한이 있습니다.
절차
LUKS 암호화된 장치에서 기존 암호를 변경합니다.
cryptsetup luksChangeKey /dev/<device_ID>
# cryptsetup luksChangeKey /dev/<device_ID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;device_ID>를 장치 지정자로 바꿉니다(예:sda).여러 개의 키 슬롯이 구성된 경우 작업할 슬롯을 지정할 수 있습니다.
cryptsetup luksChangeKey /dev/<device_ID> --key-slot <slot_number>
# cryptsetup luksChangeKey /dev/<device_ID> --key-slot <slot_number>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;slot_number>를 수정할 키 슬롯 수로 바꿉니다.현재 암호와 새 암호를 삽입합니다.
Enter passphrase to be changed: Enter new passphrase: Verify passphrase:
Enter passphrase to be changed: Enter new passphrase: Verify passphrase:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 암호를 확인합니다.
cryptsetup --verbose open --test-passphrase /dev/<device_ID>
# cryptsetup --verbose open --test-passphrase /dev/<device_ID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 암호가 장치의 잠금을 해제할 수 있는지 확인합니다.
Enter passphrase for /dev/<device_ID>: Key slot <slot_number> unlocked. Command successful.
Enter passphrase for /dev/<device_ID>: Key slot <slot_number> unlocked. Command successful.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
21.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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
플레이북을 실행합니다.
ansible-playbook --ask-vault-pass ~/playbook.yml
$ ansible-playbook --ask-vault-pass ~/playbook.ymlCopy 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-e91efe5d0f5cCopy 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
22장. 테이프 장치 관리 링크 복사링크가 클립보드에 복사되었습니다!
테이프 장치는 데이터를 순차적으로 저장하고 액세스하는 자기 테이프입니다. 테이프 드라이브의 도움을 받아 이 테이프 장치에 데이터가 작성됩니다. 테이프 장치에 데이터를 저장하기 위해 파일 시스템을 만들 필요가 없습니다. 테이프 드라이브는 SCSI, FC, USB, SATA 및 기타 인터페이스와 같은 다양한 인터페이스를 사용하여 호스트 컴퓨터에 연결할 수 있습니다.
22.1. 테이프 장치 유형 링크 복사링크가 클립보드에 복사되었습니다!
다음은 다양한 유형의 테이프 장치 목록입니다.
-
/dev/st0은 재개된 테이프 장치입니다. -
/dev/nst0은 non-rewinding tape device입니다. 매일 백업에 되풀이되지 않는 장치를 사용합니다.
테이핑 장치를 사용할 때 몇 가지 이점이 있습니다. 이는 비용 효율적이고 안정적입니다. 테이프 장치는 데이터 손상에도 탄력적이며 데이터 보존에 적합합니다.
22.2. 테이프 드라이브 관리 도구 설치 링크 복사링크가 클립보드에 복사되었습니다!
포맷 드라이브 작업을 위한 mt-st 패키지를 설치합니다. mt 유틸리티를 사용하여 가상 디스크 드라이브 작업을 제어하고 SCSI window 드라이버의 st 유틸리티를 사용합니다.
절차
mt-st패키지를 설치합니다.yum install mt-st
# yum install mt-stCopy to Clipboard Copied! Toggle word wrap Toggle overflow
22.3. 테이프 명령 링크 복사링크가 클립보드에 복사되었습니다!
일반적인 mt 명령은 다음과 같습니다.
| 명령 | 설명 |
|---|---|
|
| 테이프 장치의 상태를 표시합니다. |
|
| 테이프 전체를 지웁니다. |
|
| 테이프 장치를 되돌립니다. |
|
| 테이프 헤드를 전방향 레코드로 전환합니다. 여기서 n 은 선택적 파일 수입니다. 파일 수를 지정하면 tape head는 n 레코드를 건너뜁니다. |
|
| 테이프 헤드를 이전 레코드로 전환합니다. |
|
| 테이프 헤드를 데이터 끝으로 전환합니다. |
22.4. 테이프 장치 다시 사용하기 위한 쓰기 링크 복사링크가 클립보드에 복사되었습니다!
테이프 장치가 모든 작업 후에 다시 멈춘다. 데이터를 백업하려면 tar 명령을 사용할 수 있습니다. 기본적으로 테이프 장치에서 블록 크기는 10KB(bs=10k)입니다. export 특성을 사용하여 TAPE 환경 변수를 설정할 수 있습니다. 대신 TAPE =/dev/st0-f 장치 옵션을 사용하여 테이프 장치 파일을 지정합니다. 이 옵션은 두 개 이상의 테이프 장치를 사용할 때 유용합니다.
사전 요구 사항
-
mt-st패키지가 설치되어 있어야 합니다. 자세한 내용은 테이크 드라이브 관리 도구 설치를 참조하십시오. 테이프 드라이브를 로드합니다.
mt -f /dev/st0 load
# mt -f /dev/st0 loadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
테이프 헤드를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기:
-
현재
파일 번호는-1입니다. -
블록 번호는테이프 헤드를 정의합니다. 기본적으로 -1로 설정됩니다. -
블록 크기0은 테이프 장치에 고정 블록 크기가 없음을 나타냅니다. -
소프트 오류 수는mt status 명령을 실행한 후 발생한 오류 수를 나타냅니다. -
일반 상태 비트는테이프 장치의 통계를 설명합니다. -
DR_OPEN은 문이 열리고 테이프 장치가 비어 있음을 나타냅니다.IM_REP_EN은 즉시 보고 모드입니다.
-
현재
테이프 장치가 비어 있지 않으면 덮어씁니다.If the tape device is not empty, overwrite it:
tar -czf /dev/st0 _/source/directory
# tar -czf /dev/st0 _/source/directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 테이프 장치의 데이터를
/source/directory의 콘텐츠로 덮어씁니다./source/directory를 테이프 장치로 백업합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 테이프 장치의 상태를 확인합니다.
mt -f /dev/st0 status
# mt -f /dev/st0 statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
테이프 장치의 모든 파일 목록을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
22.5. non-rewinding tape devices에 쓰기 링크 복사링크가 클립보드에 복사되었습니다!
unrewinding tape 장치는 특정 명령의 실행을 완료한 후 현재 상태로 유지됩니다. 예를 들어 백업 후 취소되지 않은 테이프 장치에 더 많은 데이터를 추가할 수 있습니다.For example, after a backup, you could append more data to a non-rewinding tape device. 또한 예기치 않은 재생 목록을 피하기 위해 사용할 수도 있습니다.
사전 요구 사항
-
mt-st패키지가 설치되어 있어야 합니다. 자세한 내용은 테이크 드라이브 관리 도구 설치를 참조하십시오. 테이프 드라이브를 로드합니다.
mt -f /dev/nst0 load
# mt -f /dev/nst0 loadCopy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
non-rewinding tape device
/dev/nst0:mt -f /dev/nst0 status
# mt -f /dev/nst0 statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 테이프의 끝 또는 앞쪽에 있는 포인터를 지정합니다.
mt -f /dev/nst0 rewind
# mt -f /dev/nst0 rewindCopy to Clipboard Copied! Toggle word wrap Toggle overflow 테이프 장치에 데이터를 추가합니다.
mt -f /dev/nst0 eod tar -czf /dev/nst0 /source/directory/
# mt -f /dev/nst0 eod # tar -czf /dev/nst0 /source/directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow /source/directory/를테이프 장치로 백업합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 테이프 장치의 상태를 확인합니다.
mt -f /dev/nst0 status
# mt -f /dev/nst0 statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
테이프 장치의 모든 파일 목록을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
22.6. 테이프 장치에서 테이프 헤드 전환 링크 복사링크가 클립보드에 복사되었습니다!
eod 옵션을 사용하여 테이크 카드 헤드를 전환할 수 있습니다.
사전 요구 사항
-
mt-st패키지가 설치되어 있어야 합니다. 자세한 내용은 저하 드라이브 관리 도구 설치를 참조하십시오.For more information, see Installing tape drive management tool. - 데이터는 테이프 장치에 작성됩니다. 자세한 내용은 deleteing tape devices or writes to non-rewinding tape devices 를 참조하십시오.
절차
테이프 포인터의 현재 위치를 보려면 다음을 수행합니다.
mt -f /dev/nst0 tell
# mt -f /dev/nst0 tellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 테이프 헤드를 전환 하는 동안 테이프 장치에 데이터를 추가 하려면 다음을 수행 합니다.
mt -f /dev/nst0 eod
# mt -f /dev/nst0 eodCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 레코드로 이동하려면 다음을 수행합니다.
mt -f /dev/nst0 bsfm 1
# mt -f /dev/nst0 bsfm 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 전달 레코드로 이동하려면 다음을 수행합니다.
mt -f /dev/nst0 fsf 1
# mt -f /dev/nst0 fsf 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
22.7. 테이프 장치에서 데이터 복원 링크 복사링크가 클립보드에 복사되었습니다!
tar 명령을 사용하여 포맷 장치에서 데이터를 복원할 수 있습니다.
사전 요구 사항
-
mt-st패키지가 설치되어 있어야 합니다. 자세한 내용은 저하 드라이브 관리 도구 설치를 참조하십시오.For more information, see Installing tape drive management tool. - 데이터는 테이프 장치에 작성됩니다. 자세한 내용은 deleteing tape devices or writes to non-rewinding tape devices 를 참조하십시오.
절차
테이프 장치를 다시 여는 경우
/dev/st0:/source/directory복원:tar -xzf /dev/st0 /source/directory/
# tar -xzf /dev/st0 /source/directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
non-rewinding tape devices
/dev/nst0:테이프 장치를 되돌립니다.
mt -f /dev/nst0 rewind
# mt -f /dev/nst0 rewindCopy to Clipboard Copied! Toggle word wrap Toggle overflow etc디렉토리를 복원하십시오.tar -xzf /dev/nst0 /source/directory/
# tar -xzf /dev/nst0 /source/directory/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
22.8. 테이프 장치에서 데이터 삭제 링크 복사링크가 클립보드에 복사되었습니다!
지우기 옵션을 사용하여 테이크 장치에서 데이터를 지울 수 있습니다.
사전 요구 사항
-
mt-st패키지가 설치되어 있어야 합니다. 자세한 내용은 저하 드라이브 관리 도구 설치를 참조하십시오.For more information, see Installing tape drive management tool. - 데이터는 테이프 장치에 작성됩니다. 자세한 내용은 deleteing tape devices or writes to non-rewinding tape devices 를 참조하십시오.
절차
테이프 장치에서 데이터 지우기:
mt -f /dev/st0 erase
# mt -f /dev/st0 eraseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 테이프 장치를 언로드합니다.
mt -f /dev/st0 offline
# mt -f /dev/st0 offlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
23장. 스토리지 장치 제거 링크 복사링크가 클립보드에 복사되었습니다!
실행 중인 시스템에서 스토리지 장치를 안전하게 제거하여 시스템 메모리 과부하 및 데이터 손실을 방지할 수 있습니다. 다음과 같은 시스템에서 스토리지 장치를 제거하지 마십시오.
- 사용 가능한 메모리는 100개 샘플당 총 메모리의 5% 미만입니다.
-
스왑이 활성화되어 있습니다(0이 아닌
si및vmstat명령 출력의열).
사전 요구 사항
스토리지 장치를 제거하기 전에 I/O 플러시 중에 시스템 메모리 부하가 증가하여 사용 가능한 시스템 메모리가 충분히 있는지 확인합니다. 다음 명령을 사용하여 시스템의 현재 메모리 부하 및 사용 가능한 메모리를 확인합니다.
vmstat 1 100 free
# vmstat 1 100 # freeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
23.1. 스토리지 장치의 안전한 제거 링크 복사링크가 클립보드에 복사되었습니다!
실행 중인 시스템에서 안전하게 스토리지 장치를 제거하려면 top-to-bottom 접근 방식이 필요합니다. 일반적으로 애플리케이션 또는 파일 시스템인 최상위 계층에서 시작하여 물리적 장치인 맨 아래 계층으로 시작합니다.
스토리지 장치를 여러 가지 방법으로 사용할 수 있으며 물리적 장치 위에 다양한 가상 구성이 있을 수 있습니다. 예를 들어 장치의 여러 인스턴스를 다중 경로 장치로 그룹화하거나 RAID의 일부로 설정하거나 LVM 그룹의 일부로 만들 수 있습니다. 또한 파일 시스템을 통해 장치에 액세스하거나 "raw" 장치와 같이 직접 액세스할 수 있습니다.
top-to-bottom 접근 방식을 사용하는 동안 다음을 확인해야 합니다.
- 삭제하려는 장치를 사용하지 않음
- 장치에 대한 모든 보류 중인 I/O가 플러시됩니다.
- 운영 체제가 스토리지 장치를 참조하지 않음
23.2. 블록 장치 및 관련 메타데이터 제거 링크 복사링크가 클립보드에 복사되었습니다!
실행 중인 시스템에서 블록 장치를 안전하게 제거하려면 시스템 메모리 과부하 및 데이터 손실을 방지하려면 먼저 메타데이터에서 메타데이터를 제거해야 합니다. 파일 시스템부터 시작하여 스택의 각 계층을 처리하고 디스크를 진행합니다. 이러한 작업으로 인해 시스템이 일관되지 않은 상태가 되지 않습니다.
제거할 장치 유형에 따라 다를 수 있는 특정 명령을 사용합니다.
-
lvremove,remove및pvremove는 LVM에 따라 다릅니다. -
소프트웨어 RAID의 경우
mdadm을 실행하여 배열을 제거합니다. 자세한 내용은 RAID 관리를 참조하십시오. - LUKS를 사용하여 암호화된 블록 장치의 경우 특정 추가 단계가 있습니다. LUKS를 사용하여 암호화된 블록 장치에는 다음 절차가 작동하지 않습니다. 자세한 내용은 LUKS를 사용하여 블록 장치 암호화를 참조하십시오.
여기에 설명된 절차에 따라 I/O 시간 초과, 장치가 예기치 않게 제거되거나 데이터 손실으로 인한 지연을 초래하지 않고 SCSI 버스를 다시 스캔하거나 운영 체제의 상태를 변경하는 다른 작업을 수행할 수 있습니다.
사전 요구 사항
- 파일 시스템, 논리 볼륨 및 볼륨 그룹이 포함된 기존 블록 장치 스택이 있습니다.
- 다른 애플리케이션이나 서비스가 제거하려는 장치를 사용하지 않는 것을 확인했습니다.
- 제거하려는 장치에서 데이터를 백업했습니다.
선택 사항: 다중 경로 장치를 제거하고 해당 경로 장치에 액세스할 수 없는 경우 다음 명령을 실행하여 다중 경로 장치의 대기열을 비활성화합니다.
multipathd disablequeueing map multipath-device
# multipathd disablequeueing map multipath-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이를 통해 장치의 I/O가 실패하여 장치를 사용하는 애플리케이션을 종료할 수 있습니다.
한 번에 메타데이터 하나씩 레이어로 장치를 제거하면 오래된 서명이 디스크에 남아 있지 않습니다.
절차
파일 시스템을 마운트 해제합니다.
umount /mnt/mount-point
# umount /mnt/mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 시스템을 제거합니다.
wipefs -a /dev/vg0/myvol
# wipefs -a /dev/vg0/myvolCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/fstab파일에 항목을 추가하여 파일 시스템과 마운트 지점을 영구적으로 연결한 경우 이 시점에서/etc/fstab을 편집하여 해당 항목을 제거하십시오.제거하려는 장치 유형에 따라 다음 단계를 계속합니다.
파일 시스템이 포함된 LV(Logical Volume)를 제거합니다.
lvremove vg0/myvol
# lvremove vg0/myvolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨 그룹(VG)에 남아 있는 다른 논리 볼륨이 없는 경우 장치가 포함된 VG를 안전하게 제거할 수 있습니다.
vgremove vg0
# vgremove vg0Copy to Clipboard Copied! Toggle word wrap Toggle overflow PV 장치에서 PV(물리 볼륨) 메타데이터를 제거합니다.
pvremove /dev/sdc1
# pvremove /dev/sdc1Copy to Clipboard Copied! Toggle word wrap Toggle overflow wipefs -a /dev/sdc1
# wipefs -a /dev/sdc1Copy to Clipboard Copied! Toggle word wrap Toggle overflow PV가 포함된 파티션을 제거합니다.
parted /dev/sdc rm 1
# parted /dev/sdc rm 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 장치를 완전히 지우려면 파티션 테이블을 제거하십시오.
wipefs -a /dev/sdc
# wipefs -a /dev/sdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 장치를 물리적으로 제거하려면 다음 단계를 실행합니다.
다중 경로 장치를 제거하는 경우 다음 명령을 실행합니다.
장치에 대한 모든 경로를 표시합니다.
multipath -l
# multipath -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령의 출력은 이후 단계에서 필요합니다.
I/O를 플러시하고 다중 경로 장치를 제거합니다.
multipath -f multipath-device
# multipath -f multipath-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
장치가 다중 경로 장치로 구성되지 않았거나 장치가 다중 경로 장치로 구성되어 있고 이전에 I/O를 개별 경로에 전달한 경우 사용되는 모든 장치 경로에 뛰어난 I/O를 플러시합니다.
blockdev --flushbufs device
# blockdev --flushbufs deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow umount또는vgreduce명령이 I/O를 플러시하지 않는 위치에서 직접 액세스하는 장치에 중요합니다.SCSI 장치를 제거하는 경우 다음 명령을 실행합니다.
-
/dev/sd,/dev/disk/by-path, 또는 시스템의 애플리케이션, 스크립트 또는 유틸리티에서 장치의 경로 기반 이름에 대한 참조를 제거합니다.이렇게 하면 향후 추가되는 다른 장치가 현재 장치에 대해 실수를 하지 않습니다. SCSI 하위 시스템에서 장치에 대한 각 경로를 제거합니다.
echo 1 > /sys/block/device-name/device/delete
# echo 1 > /sys/block/device-name/device/deleteCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기에서
장치 이름이이전에 다중 경로 장치로 사용된 경우multipath -l명령의 출력에서 검색됩니다.
-
- 실행 중인 시스템에서 물리적 장치를 제거합니다. 이 장치를 제거해도 다른 장치의 I/O는 중지되지 않습니다.
검증
제거하려는 장치가
lsblk명령의 출력에 표시되지 않는지 확인합니다. 다음은 출력 예제입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
24장. Stratis 파일 시스템 설정 링크 복사링크가 클립보드에 복사되었습니다!
Stratis는 Red Hat Enterprise Linux를 위한 로컬 스토리지 관리 솔루션입니다. 단순성과 사용 편의성에 중점을 두고 있으며 고급 스토리지 기능에 액세스할 수 있습니다.
Stratis는 물리적 스토리지 장치 풀을 관리하는 서비스로 실행되며 복잡한 스토리지 구성을 설정하고 관리하는 데 도움을 주기 때문에 사용하기 쉬운 로컬 스토리지 관리가 간소화됩니다.
Stratis는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 에서 참조하십시오.
Stratis는 다음을 지원합니다.
- 스토리지의 초기 구성
- 나중에 변경
- 고급 스토리지 기능 사용
Stratis의 중앙 개념은 스토리지 풀입니다. 이 풀은 하나 이상의 로컬 디스크 또는 파티션에서 생성되며 파일 시스템은 풀에서 생성됩니다. 이 풀은 다음과 같은 기능을 활성화합니다.
- 파일 시스템 스냅샷
- 씬 프로비저닝
- 캐싱
- 암호화
24.1. Stratis 파일 시스템의 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
외부에서 Stratis는 명령줄과 API를 통해 다음 파일 시스템 구성 요소를 제공합니다.
blockdev- 디스크 또는 디스크 파티션과 같은 블록 장치입니다.
pool하나 이상의 블록 장치로 구성됩니다.
풀의 총 크기는 블록 장치의 크기와 같습니다.
이 풀에는
dm-cache대상을 사용하는 비발성 데이터 캐시와 같은 대부분의 Stratis 계층이 포함되어 있습니다.Stratis는 각 풀에 대해
/dev/stratis/my-pool/디렉토리를 생성합니다. 이 디렉터리에는 풀에서 Stratis 파일 시스템을 나타내는 장치에 대한 링크가 포함되어 있습니다.
filesystem각 풀은 0개 이상의 파일 시스템을 포함할 수 있습니다. 파일 시스템을 포함하는 풀은 원하는 수의 파일을 저장할 수 있습니다.
파일 시스템은 씬 프로비저닝되며 총 크기가 고정되지 않습니다. 실제 파일 시스템의 크기는 파일 시스템에 저장된 데이터와 함께 증가합니다. 데이터 크기가 파일 시스템의 가상 크기에 도달하면 Stratis에서 씬 볼륨과 파일 시스템을 자동으로 늘립니다.
파일 시스템은 XFS 파일 시스템으로 포맷됩니다.
중요Stratis는 XFS가 인식하지 못하는 파일 시스템에 대한 정보를 추적하고 XFS를 사용하여 변경한 내용은 Stratis에서 자동으로 업데이트를 생성하지 않습니다. 사용자가 Stratis에서 관리하는 XFS 파일 시스템을 다시 포맷하거나 재구성해서는 안 됩니다.
Stratis는
/dev/stratis/my-pool /my-fs경로에 파일 시스템에 대한 링크를 만듭니다.
Stratis는 dmsetup list 및 /proc/partitions 파일에 표시되는 많은 장치 매퍼 장치를 사용합니다. 마찬가지로 lsblk 명령 출력은 Stratis의 내부 작업 및 계층을 반영합니다.
24.2. Stratis와 호환되는 블록 장치 링크 복사링크가 클립보드에 복사되었습니다!
Stratis와 함께 사용할 수 있는 스토리지 장치입니다.
지원되는 장치
Stratis 풀은 이러한 유형의 블록 장치에서 작동하도록 테스트되었습니다.
- LUKS
- LVM 논리 볼륨
- MD RAID
- DM Multipath
- iSCSI
- HDD 및 SSD
- NVMe 장치
지원되지 않는 장치
Stratis에는 씬 프로비저닝 계층이 포함되어 있기 때문에 Red Hat은 이미 씬 프로비저닝된 블록 장치에 Stratis 풀을 배치하지 않는 것이 좋습니다.
24.3. Stratis 설치 링크 복사링크가 클립보드에 복사되었습니다!
Stratis에 필요한 패키지를 설치합니다.
절차
Stratis 서비스 및 명령줄 유틸리티를 제공하는 패키지를 설치합니다.
dnf install stratisd stratis-cli
# dnf install stratisd stratis-cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow stratisd서비스를 시작하고 부팅 시 시작되도록 활성화하려면 다음을 수행합니다.systemctl enable --now stratisd
# systemctl enable --now stratisdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
stratisd서비스가 활성화되어 있고 실행 중인지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
24.4. 암호화되지 않은 Stratis 풀 생성 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 블록 장치에서 암호화되지 않은 Stratis 풀을 생성할 수 있습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 풀을 생성 중인 블록 장치는 사용 중이 아니며, 마운트 해제되고, 공간이 1GB 이상입니다.
IBM Z 아키텍처에서
/dev/dasd*블록 장치를 파티셔닝해야 합니다. Stratis 풀을 생성하려면 파티션 장치를 사용합니다.DASD 장치 파티셔닝에 대한 자세한 내용은 IBM Z에서 Linux 인스턴스 구성을 참조하십시오.
생성 중에 Stratis 풀만 암호화할 수 있으며 나중에는 암호화할 수 없습니다.
절차
Stratis 풀에서 사용하려는 각 블록 장치에 존재하는 파일 시스템, 파티션 테이블 또는 RAID 서명을 지웁니다.
wipefs --all block-device
# wipefs --all block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow block-device값은 블록 장치의 경로입니다(예:/dev/sdb).선택한 블록 장치에 암호화되지 않은 새 Stratis 풀을 생성합니다.
stratis pool create my-pool block-device
# stratis pool create my-pool block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow block-device값은 비어 있거나 지워진 블록 장치의 경로입니다.다음 명령을 사용하여 한 줄에 여러 블록 장치를 지정할 수도 있습니다.
stratis pool create my-pool block-device-1 block-device-2
# stratis pool create my-pool block-device-1 block-device-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 Stratis 풀이 생성되었는지 확인합니다.
stratis pool list
# stratis pool listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
24.5. 웹 콘솔을 사용하여 암호화되지 않은 Stratis 풀 생성 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 하나 이상의 블록 장치에서 암호화되지 않은 Stratis 풀을 생성할 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 풀을 생성 중인 블록 장치는 사용 중이 아니며, 마운트 해제되고, 공간이 1GB 이상입니다.
암호화되지 않은 Stratis 풀을 생성한 후에는 암호화할 수 없습니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 스토리지를 .
- 스토리지 표에서 메뉴 버튼을 클릭하고 Create Stratis pool 을 선택합니다.
- 이름 필드에 Stratis 풀의 이름을 입력합니다.
- Stratis 풀을 생성할 블록 장치를 선택합니다.
- 선택 사항: 풀에서 생성된 각 파일 시스템의 최대 크기를 지정하려면 파일 시스템 크기 관리를 선택합니다.
- 을 클릭합니다.
검증
- 스토리지 섹션으로 이동하여 장치 테이블에서 새 Stratis 풀을 볼 수 있는지 확인합니다.
24.6. 커널 키링에서 키를 사용하여 암호화된 Stratis 풀 생성 링크 복사링크가 클립보드에 복사되었습니다!
데이터를 보호하려면 커널 인증 키를 사용하여 하나 이상의 블록 장치에서 암호화된 Stratis 풀을 생성할 수 있습니다.
이러한 방식으로 암호화된 Stratis 풀을 생성하면 커널 인증 키가 기본 암호화 메커니즘으로 사용됩니다. 이후 시스템이 재부팅된 후 이 커널 인증 키를 사용하여 암호화된 Stratis 풀을 잠금 해제합니다.
하나 이상의 블록 장치에서 암호화된 Stratis 풀을 생성할 때 다음을 확인합니다.
-
각 블록 장치는
cryptsetup라이브러리를 사용하여 암호화되며LUKS2형식을 구현합니다. - 각 Stratis 풀은 고유한 키를 보유하거나 다른 풀과 동일한 키를 공유할 수 있습니다. 이러한 키는 커널 인증 키에 저장됩니다.
- Stratis 풀을 구성하는 블록 장치는 모두 암호화되거나 암호화되지 않아야 합니다. 동일한 Stratis 풀에서 암호화 및 암호화되지 않은 블록 장치를 둘 다 가질 수 없습니다.
- 암호화된 Stratis 풀의 데이터 캐시에 추가된 블록 장치는 자동으로 암호화됩니다.
사전 요구 사항
-
Stratis v2.1.0 이상이 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 풀을 생성 중인 블록 장치는 사용 중이 아니며, 마운트 해제되고, 공간이 1GB 이상입니다.
IBM Z 아키텍처에서
/dev/dasd*블록 장치를 파티셔닝해야 합니다. Stratis 풀의 파티션을 사용합니다.DASD 장치 파티셔닝에 대한 자세한 내용은 IBM Z에서 Linux 인스턴스 구성을 참조하십시오.
절차
Stratis 풀에서 사용하려는 각 블록 장치에 존재하는 파일 시스템, 파티션 테이블 또는 RAID 서명을 지웁니다.
wipefs --all block-device
# wipefs --all block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow block-device값은 블록 장치의 경로입니다(예:/dev/sdb).키를 이미 설정하지 않은 경우 다음 명령을 실행하고 프롬프트에 따라 암호화에 사용할 키 세트를 생성합니다.
stratis key set --capture-key key-description
# stratis key set --capture-key key-descriptionCopy to Clipboard Copied! Toggle word wrap Toggle overflow key-description은 커널 인증 키에 생성되는 키에 대한 참조입니다. 명령줄에 키 값을 입력하라는 메시지가 표시됩니다. 키 값을 파일에 저장하고--capture-key옵션 대신--keyfile-path옵션을 사용할 수도 있습니다.암호화된 Stratis 풀을 생성하고 암호화에 사용할 키 설명을 지정합니다.
stratis pool create --key-desc key-description my-pool block-device
# stratis pool create --key-desc key-description my-pool block-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow key-description- 이전 단계에서 생성한 커널 인증 키에 있는 키를 참조합니다.
my-pool- 새 Stratis 풀의 이름을 지정합니다.
block-device비어 있거나 지워진 블록 장치의 경로를 지정합니다.
다음 명령을 사용하여 한 줄에 여러 블록 장치를 지정할 수도 있습니다.
stratis pool create --key-desc key-description my-pool block-device-1 block-device-2
# stratis pool create --key-desc key-description my-pool block-device-1 block-device-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
새 Stratis 풀이 생성되었는지 확인합니다.
stratis pool list
# stratis pool listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
24.7. 웹 콘솔을 사용하여 암호화된 Stratis 풀 생성 링크 복사링크가 클립보드에 복사되었습니다!
데이터를 보호하려면 웹 콘솔을 사용하여 하나 이상의 블록 장치에서 암호화된 Stratis 풀을 생성할 수 있습니다.
하나 이상의 블록 장치에서 암호화된 Stratis 풀을 생성할 때 다음을 확인합니다.
- 각 블록 장치는 cryptsetup 라이브러리를 사용하여 암호화되며 LUKS2 형식을 구현합니다.
- 각 Stratis 풀은 고유한 키를 보유하거나 다른 풀과 동일한 키를 공유할 수 있습니다. 이러한 키는 커널 인증 키에 저장됩니다.
- Stratis 풀을 구성하는 블록 장치는 모두 암호화되거나 암호화되지 않아야 합니다. 동일한 Stratis 풀에서 암호화 및 암호화되지 않은 블록 장치를 둘 다 가질 수 없습니다.
- 암호화된 Stratis 풀의 데이터 계층에 추가된 블록 장치는 자동으로 암호화됩니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
Stratis v2.1.0 이상이 설치되고
stratisd서비스가 실행 중입니다. - Stratis 풀을 생성 중인 블록 장치는 사용 중이 아니며, 마운트 해제되고, 공간이 1GB 이상입니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 스토리지를 .
- 스토리지 표에서 메뉴 버튼을 클릭하고 Create Stratis pool 을 선택합니다.
- 이름 필드에 Stratis 풀의 이름을 입력합니다.
- Stratis 풀을 생성할 블록 장치를 선택합니다.
암호화 유형을 선택합니다. 암호, Tang 키 서버 또는 둘 다 사용할 수 있습니다.
암호:
- 암호를 입력합니다.
- 암호를 확인합니다.
Tang 키 서버:
- 키 서버 주소를 입력합니다. 자세한 내용은 강제 모드에서 SELinux를 사용하여 Tang 서버 배포를 참조하십시오.
- 선택 사항: 풀에서 생성된 각 파일 시스템의 최대 크기를 지정하려면 파일 시스템 크기 관리를 선택합니다.
- 을 클릭합니다.
검증
- 스토리지 섹션으로 이동하여 장치 테이블에서 새 Stratis 풀을 볼 수 있는지 확인합니다.
24.8. 웹 콘솔을 사용하여 Stratis 풀 이름 변경 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 기존 Stratis 풀의 이름을 변경할 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
Stratis가 설치되고
stratisd서비스가 실행 중입니다.웹 콘솔은 기본적으로 Stratis를 감지하고 설치합니다. 그러나 Stratis를 수동으로 설치하려면 Stratis 설치를 참조하십시오.
- Stratis 풀이 생성됩니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 스토리지를 .
- 스토리지 테이블에서 이름을 변경할 Stratis 풀을 클릭합니다.
- Stratis 풀 페이지에서 이름 필드 옆에 있는 클릭합니다.
- Rename Stratis 풀 대화 상자에 새 이름을 입력합니다.
- 을 클릭합니다.
24.9. Stratis 파일 시스템에서 프로비저닝 모드 설정 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 모든 Stratis 풀이 프로비저닝되므로 논리 파일 시스템 크기가 물리적으로 할당된 공간을 초과할 수 있습니다. Stratis는 파일 시스템 사용량을 모니터링하고 필요한 경우 사용 가능한 공간을 사용하여 자동으로 할당을 늘립니다. 그러나 사용 가능한 모든 공간이 이미 할당되어 있고 풀이 가득 차면 파일 시스템에 추가 공간을 할당할 수 없습니다.
파일 시스템이 공간이 부족하면 사용자가 데이터가 손실될 수 있습니다. 데이터가 손실될 위험이 초과된 애플리케이션의 경우 이 기능을 비활성화할 수 있습니다.
Stratis는 풀 사용량을 지속적으로 모니터링하고 D-Bus API를 사용하여 값을 보고합니다. 스토리지 관리자는 이러한 값을 모니터링하고 필요에 따라 풀에 장치를 추가하여 용량에 도달하지 못하도록 해야 합니다.
사전 요구 사항
- Stratis가 설치되어 있습니다. 자세한 내용은 Stratis 설치를 참조하십시오.
절차
풀을 올바르게 설정하려면 다음 두 가지 가능성이 있습니다.
하나 이상의 블록 장치에서 풀을 생성합니다.
stratis pool create pool-name /dev/sdb
# stratis pool create pool-name /dev/sdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 풀에서 overprovisioning 모드를 설정합니다.
stratis pool overprovision pool-name <yes|no>
# stratis pool overprovision pool-name <yes|no>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - "yes"로 설정하면 풀로 Overprovisioning을 활성화합니다. 즉, 풀에서 지원하는 Stratis 파일 시스템의 논리 크기 합계는 사용 가능한 데이터 공간 크기를 초과할 수 있습니다. 풀이 초과 프로비저닝되고 모든 파일 시스템의 논리 크기 합계가 풀에서 사용 가능한 공간을 초과하면 시스템은 프로비저닝을 끄고 오류를 반환할 수 없습니다.
검증
Stratis 풀의 전체 목록을 확인합니다.
stratis pool list
# stratis pool list Name Total Physical Properties UUID Alerts pool-name 1.42 TiB / 23.96 MiB / 1.42 TiB ~Ca,~Cr,~Op cb7cb4d8-9322-4ac4-a6fd-eb7ae9e1e540Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
stratis pool list출력의 pool overprovisioning 모드 플래그가 있는지 확인합니다. " ~"은 "NOT"의 수치 기호이므로~Op는 프로비저닝이 없음을 의미합니다. 선택 사항: 특정 풀에서 프로비저닝을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
24.10. Stratis 풀을 NBDE에 바인딩 링크 복사링크가 클립보드에 복사되었습니다!
암호화된 Stratis 풀을 네트워크 바운드 디스크 암호화(NBDE)에 바인딩하려면 Tang 서버가 필요합니다. Stratis 풀을 포함하는 시스템이 재부팅되면 커널 인증 키를 제공하지 않고도 암호화된 풀의 잠금을 자동으로 해제하기 위해 Tang 서버와 연결합니다.
Stratis 풀을 보조 Clevis 암호화 메커니즘에 바인딩하면 기본 커널 인증 키 암호화가 제거되지 않습니다.
사전 요구 사항
-
Stratis v2.3.0 이상이 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - 암호화된 Stratis 풀이 생성되고 암호화에 사용된 키에 대한 주요 설명이 있습니다. 자세한 내용은 커널 키링의 키를 사용하여 암호화된 Stratis 풀 생성을 참조하십시오.
- Tang 서버에 연결할 수 있습니다. 자세한 내용은 강제 모드에서 SELinux를 사용하여 Tang 서버 배포를 참조하십시오.
절차
암호화된 Stratis 풀을 NBDE에 바인딩합니다.
stratis pool bind nbde --trust-url my-pool tang-server
# stratis pool bind nbde --trust-url my-pool tang-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow my-pool- 암호화된 Stratis 풀의 이름을 지정합니다.
tang-server- Tang 서버의 IP 주소 또는 URL을 지정합니다.
24.11. Stratis 풀을 TPM에 바인딩 링크 복사링크가 클립보드에 복사되었습니다!
암호화된 Stratis 풀을 신뢰할 수 있는 플랫폼 모듈(TPM) 2.0에 바인딩하면 풀이 재부팅되고 커널 키링 설명을 제공하지 않고도 풀이 자동으로 잠금 해제됩니다.
사전 요구 사항
-
Stratis v2.3.0 이상이 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - 암호화된 Stratis 풀이 생성되고 암호화에 사용된 키에 대한 주요 설명이 있습니다. 자세한 내용은 커널 키링의 키를 사용하여 암호화된 Stratis 풀 생성을 참조하십시오.
- 시스템이 TPM 2.0을 지원합니다.
절차
암호화된 Stratis 풀을 TPM에 바인딩합니다.
stratis pool bind tpm my-pool
# stratis pool bind tpm my-poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow my-pool- 암호화된 Stratis 풀의 이름을 지정합니다.
key-description- 암호화된 Stratis 풀을 생성할 때 생성된 커널 인증 키에 있는 키를 참조합니다.
24.12. 커널 인증 키를 사용하여 암호화된 Stratis 풀 잠금 해제 링크 복사링크가 클립보드에 복사되었습니다!
시스템이 재부팅되면 암호화된 Stratis 풀 또는 이를 구성하는 블록 장치가 표시되지 않을 수 있습니다. 풀을 암호화하는 데 사용된 커널 인증 키를 사용하여 풀 잠금을 해제할 수 있습니다.
사전 요구 사항
-
Stratis v2.1.0이 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - 암호화된 Stratis 풀이 생성됩니다. 자세한 내용은 커널 키링의 키를 사용하여 암호화된 Stratis 풀 생성을 참조하십시오.
절차
이전에 사용한 것과 동일한 키 설명을 사용하여 키 세트를 다시 생성합니다.
stratis key set --capture-key key-description
# stratis key set --capture-key key-descriptionCopy to Clipboard Copied! Toggle word wrap Toggle overflow key-description은 암호화된 Stratis 풀을 생성할 때 생성된 커널 인증 키에 존재하는 키를 참조합니다.Stratis 풀이 표시되는지 확인합니다.
stratis pool list
# stratis pool listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
24.13. 보충 암호화에서 Stratis 풀 바인딩 해제 링크 복사링크가 클립보드에 복사되었습니다!
지원되는 보조 암호화 메커니즘에서 암호화된 Stratis 풀을 바인딩 해제하면 기본 커널 인증 키 암호화는 그대로 유지됩니다. 처음부터 Clevis 암호화로 생성된 풀에는 사실이 아닙니다.
사전 요구 사항
- Stratis v2.3.0 이상이 시스템에 설치됩니다. 자세한 내용은 Stratis 설치를 참조하십시오.
- 암호화된 Stratis 풀이 생성됩니다. 자세한 내용은 커널 키링의 키를 사용하여 암호화된 Stratis 풀 생성을 참조하십시오.
- 암호화된 Stratis 풀은 지원되는 보조 암호화 메커니즘에 바인딩됩니다.
절차
보조 암호화 메커니즘에서 암호화된 Stratis 풀의 바인딩을 해제합니다.
stratis pool unbind clevis my-pool
# stratis pool unbind clevis my-poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow my-pool은 바인딩 해제할 Stratis 풀의 이름을 지정합니다.
24.14. Stratis 풀 시작 및 중지 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 풀을 시작하고 중지할 수 있습니다. 이 옵션을 사용하면 파일 시스템, 캐시 장치, 씬 풀, 암호화된 장치와 같이 풀을 구성하는 데 사용된 모든 오브젝트를 제거하거나 중단할 수 있습니다. 풀이 장치 또는 파일 시스템을 적극적으로 사용하는 경우 경고가 표시될 수 있으며 중지할 수 없습니다.
중지된 상태는 풀의 메타데이터에 기록됩니다. 이러한 풀은 풀에 start 명령이 수신될 때까지 다음 부팅에서 시작되지 않습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - 암호화되지 않은 Stratis 또는 암호화된 Stratis 풀이 생성됩니다. 자세한 내용은 암호화되지 않은 Stratis 풀 생성 또는 커널 인증 키의 키를 사용하여 암호화된 Stratis 풀 생성을 참조하십시오.
절차
다음 명령을 사용하여 Stratis 풀을 중지합니다. 이렇게 하면 스토리지 스택이 줄어들지만 모든 메타데이터는 그대로 유지됩니다.
stratis pool stop --name pool-name
# stratis pool stop --name pool-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 Stratis 풀을 시작합니다.
--unlock-method옵션은 암호화된 경우 풀 잠금을 해제하는 방법을 지정합니다.stratis pool start --unlock-method <keyring|clevis> --name pool-name
# stratis pool start --unlock-method <keyring|clevis> --name pool-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고풀 이름 또는 풀 UUID를 사용하여 풀을 시작할 수 있습니다.
검증
다음 명령을 사용하여 시스템의 모든 활성 풀을 나열합니다.
stratis pool list
# stratis pool listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 중지된 모든 풀을 나열합니다.
stratis pool list --stopped
# stratis pool list --stoppedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중지된 풀에 대한 자세한 정보를 보려면 다음 명령을 사용합니다. UUID를 지정하면 명령에서 UUID에 해당하는 풀에 대한 자세한 정보를 출력합니다.
stratis pool list --stopped --uuid UUID
# stratis pool list --stopped --uuid UUIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
24.15. Stratis 파일 시스템 생성 링크 복사링크가 클립보드에 복사되었습니다!
기존 Stratis 풀에 Stratis 파일 시스템을 생성합니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 풀이 생성됩니다. 자세한 내용은 암호화되지 않은 Stratis 풀 생성 또는 커널 인증 키의 키 사용을 참조하십시오.
절차
풀에 Stratis 파일 시스템을 생성합니다.
stratis filesystem create --size number-and-unit my-pool my-fs
# stratis filesystem create --size number-and-unit my-pool my-fsCopy to Clipboard Copied! Toggle word wrap Toggle overflow number-and-unit- 파일 시스템의 크기를 지정합니다. 사양 형식은 입력에 대한 표준 크기 사양 형식(예: B, KiB, MiB, GiB, TiB 또는 PiB)을 따라야 합니다.
my-pool- Stratis 풀의 이름을 지정합니다.
my-fs파일 시스템의 임의 이름을 지정합니다.
예를 들면 다음과 같습니다.
예 24.1. Stratis 파일 시스템 생성
stratis filesystem create --size 10GiB pool1 filesystem1
# stratis filesystem create --size 10GiB pool1 filesystem1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
풀 내에 파일 시스템을 나열하여 Stratis 파일 시스템이 생성되었는지 확인합니다.
stratis fs list my-pool
# stratis fs list my-poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow
24.16. 웹 콘솔을 사용하여 Stratis 풀에서 파일 시스템 생성 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 기존 Stratis 풀에서 파일 시스템을 생성할 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
stratisd서비스가 실행 중입니다. - Stratis 풀이 생성됩니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 스토리지를 .
- 파일 시스템을 생성할 Stratis 풀을 클릭합니다.
- Stratis 풀 페이지에서 Stratis 파일 시스템 섹션으로 스크롤하고 .
- 파일 시스템의 이름을 입력합니다.
- 파일 시스템의 마운트 지점을 입력합니다.
- 마운트 옵션을 선택합니다.
- 부팅 시 드롭다운 메뉴에서 파일 시스템을 마운트할 시기를 선택합니다.
파일 시스템을 생성합니다.
- 파일 시스템을 생성하고 마운트하려면 를 클릭합니다.
- 파일 시스템만 만들려면 을 클릭합니다.
검증
- 새 파일 시스템은 Stratis 파일 시스템 탭 아래의 Stratis 풀 페이지에 표시됩니다.
24.17. Stratis 파일 시스템 마운트 링크 복사링크가 클립보드에 복사되었습니다!
기존 Stratis 파일 시스템을 마운트하여 콘텐츠에 액세스합니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 파일 시스템이 생성됩니다. 자세한 내용은 Stratis 파일 시스템 생성을 참조하십시오.
절차
파일 시스템을 마운트하려면 Stratis가
/dev/stratis/디렉터리에서 유지 관리하는 항목을 사용합니다.mount /dev/stratis/my-pool/my-fs mount-point
# mount /dev/stratis/my-pool/my-fs mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 파일 시스템이 마운트 지점 디렉터리에 마운트되어 사용할 준비가 되었습니다.
중지하기 전에 풀에 속하는 모든 파일 시스템을 마운트 해제합니다. 파일 시스템이 여전히 마운트된 경우 풀이 중지되지 않습니다.
24.18. systemd 서비스를 사용하여 /etc/fstab에서 루트가 아닌 Stratis 파일 시스템 설정 링크 복사링크가 클립보드에 복사되었습니다!
systemd 서비스를 사용하여 /etc/fstab 에서 루트가 아닌 파일 시스템 설정을 관리할 수 있습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 파일 시스템이 생성됩니다. 자세한 내용은 Stratis 파일 시스템 생성을 참조하십시오.
절차
root 로서
/etc/fstab파일을 편집하고 root가 아닌 파일 시스템을 설정하는 행을 추가합니다./dev/stratis/my-pool/my-fs mount-point xfs defaults,x-systemd.requires=stratis-fstab-setup@pool-uuid.service,x-systemd.after=stratis-fstab-setup@pool-uuid.service dump-value fsck_value
/dev/stratis/my-pool/my-fs mount-point xfs defaults,x-systemd.requires=stratis-fstab-setup@pool-uuid.service,x-systemd.after=stratis-fstab-setup@pool-uuid.service dump-value fsck_valueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
암호화된 Stratis 풀에서 Stratis 파일 시스템을 영구적으로 마운트하면 암호가 제공될 때까지 부팅 프로세스가 중지될 수 있습니다. 자동 메커니즘을 사용하여 풀을 암호화하는 경우(예: NBDE 또는 TPM2) Stratis 풀은 자동으로 잠금 해제됩니다. 그렇지 않은 경우 사용자가 콘솔에 암호를 입력해야 합니다.
25장. 추가 블록 장치를 사용하여 Stratis 풀 확장 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 풀에 추가 블록 장치를 연결하여 Stratis 파일 시스템에 더 많은 스토리지 용량을 제공할 수 있습니다. 수동으로 또는 웹 콘솔을 사용하여 수행할 수 있습니다.
Stratis는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 에서 참조하십시오.
25.1. Stratis 풀에 블록 장치 추가 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 풀에 하나 이상의 블록 장치를 추가할 수 있습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 풀을 생성 중인 블록 장치는 사용 중이 아니며, 마운트 해제되고, 공간이 1GB 이상입니다.
절차
하나 이상의 블록 장치를 풀에 추가하려면 다음을 사용합니다.
stratis pool add-data my-pool device-1 device-2 device-n
# stratis pool add-data my-pool device-1 device-2 device-nCopy to Clipboard Copied! Toggle word wrap Toggle overflow
25.2. 웹 콘솔을 사용하여 Stratis 풀에 블록 장치 추가 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 기존 Stratis 풀에 블록 장치를 추가할 수 있습니다. 캐시를 블록 장치로 추가할 수도 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
stratisd서비스가 실행 중입니다. - Stratis 풀이 생성됩니다.
- Stratis 풀을 생성 중인 블록 장치는 사용 중이 아니며, 마운트 해제되고, 공간이 1GB 이상입니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 스토리지를 .
- 스토리지 테이블에서 블록 장치를 추가할 Stratis 풀을 클릭합니다.
- Stratis 풀 페이지에서 데이터 또는 캐시로 추가할 계층 위치를 선택합니다.
- 암호로 암호화된 Stratis 풀에 블록 장치를 추가하는 경우 암호를 입력합니다.
- 블록 장치에서 풀에 추가할 장치를 선택합니다.
- 를 클릭합니다.
26장. Stratis 파일 시스템 모니터링 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 사용자는 시스템의 Stratis 파일 시스템에 대한 정보를 확인하여 상태 및 여유 공간을 모니터링할 수 있습니다.
Stratis는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 에서 참조하십시오.
26.1. Stratis 파일 시스템에 대한 정보 표시 링크 복사링크가 클립보드에 복사되었습니다!
stratis 유틸리티를 사용하여 풀에 속한 총 크기 또는 파일 시스템 및 블록 장치와 같은 Stratis 파일 시스템에 대한 통계를 나열할 수 있습니다.
XFS 파일 시스템의 크기는 관리할 수 있는 총 사용자 데이터 양입니다. 씬 프로비저닝된 Stratis 풀에서 Stratis 파일 시스템에는 할당된 공간보다 큰 크기가 있는 것처럼 보일 수 있습니다. XFS 파일 시스템은 이 명확한 크기와 일치하도록 크기가 조정되므로 일반적으로 할당된 공간보다 큽니다. df와 같은 표준 Linux 유틸리티는 XFS 파일 시스템의 크기를 보고합니다. 이 값은 일반적으로 XFS 파일 시스템에 필요한 공간을 초과하므로 Stratis에서 할당된 공간을 덮어씁니다.
과도하게 프로비저닝된 Stratis 풀의 사용을 정기적으로 모니터링합니다. 파일 시스템 사용량이 할당된 공간에 접근하면 Stratis는 풀에서 사용 가능한 공간을 사용하여 자동으로 할당을 늘립니다. 그러나 사용 가능한 모든 공간이 이미 할당되어 있고 풀이 가득 차면 추가 공간을 할당할 수 없으므로 파일 시스템이 공간이 부족해집니다. 이로 인해 Stratis 파일 시스템을 사용하여 애플리케이션에서 데이터가 손실될 위험이 발생할 수 있습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오.
절차
시스템에서 Stratis에 사용되는 모든 블록 장치에 대한 정보를 표시하려면 다음을 수행합니다.
stratis blockdev
# stratis blockdev Pool Name Device Node Physical Size State Tier my-pool /dev/sdb 9.10 TiB In-use DataCopy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템의 모든 Stratis 풀에 대한 정보를 표시하려면 다음을 수행합니다.
stratis pool
# stratis pool Name Total Physical Size Total Physical Used my-pool 9.10 TiB 598 MiBCopy to Clipboard Copied! Toggle word wrap Toggle overflow 시스템의 모든 Stratis 파일 시스템에 대한 정보를 표시하려면 다음을 수행합니다.
stratis filesystem
# stratis filesystem Pool Name Name Used Created Device my-pool my-fs 546 MiB Nov 08 2018 08:03 /dev/stratis/my-pool/my-fsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
26.2. 웹 콘솔을 사용하여 Stratis 풀 보기 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 기존 Stratis 풀 및 포함된 파일 시스템을 볼 수 있습니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
stratisd서비스가 실행 중입니다. - 기존 Stratis 풀이 있습니다.
절차
- RHEL 8 웹 콘솔에 로그인합니다.
- 스토리지를 .
스토리지 테이블에서 볼 Stratis 풀을 클릭합니다.
Stratis 풀 페이지에는 풀에 대한 모든 정보와 풀에서 생성한 파일 시스템이 표시됩니다.
27장. Stratis 파일 시스템에서 스냅샷 사용 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 파일 시스템에서 스냅샷을 사용하여 임의로 파일 시스템 상태를 캡처하고 나중에 복원할 수 있습니다.
Stratis는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 에서 참조하십시오.
27.1. Stratis 스냅샷의 특징 링크 복사링크가 클립보드에 복사되었습니다!
Stratis에서 스냅샷은 다른 Stratis 파일 시스템의 사본으로 생성된 일반 Stratis 파일 시스템입니다.
Stratis의 현재 스냅샷 구현은 다음과 같습니다.
- 파일 시스템의 스냅샷은 또 다른 파일 시스템입니다.
- 스냅샷과 원본은 수명 동안 연결되어 있지 않습니다. 스냅샷된 파일 시스템은 에서 생성된 파일 시스템보다 더 길 수 있습니다.
- 파일 시스템에서 스냅숏을 만들기 위해 마운트할 필요는 없습니다.
- 각 스냅샷은 XFS 로그에 필요한 실제 백업 스토리지의 절반 정도를 사용합니다.
27.2. Stratis 스냅샷 생성 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 파일 시스템을 기존 Stratis 파일 시스템의 스냅샷으로 생성할 수 있습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 파일 시스템을 생성했습니다. 자세한 내용은 Stratis 파일 시스템 생성을 참조하십시오.
절차
Stratis 스냅샷을 생성합니다.
stratis fs snapshot my-pool my-fs my-fs-snapshot
# stratis fs snapshot my-pool my-fs my-fs-snapshotCopy to Clipboard Copied! Toggle word wrap Toggle overflow
스냅샷은 첫 번째 클래스 Stratis 파일 시스템입니다. 여러 Stratis 스냅샷을 생성할 수 있습니다. 여기에는 단일 원본 파일 시스템 또는 다른 스냅샷 파일 시스템의 스냅샷이 포함됩니다. 파일 시스템이 스냅샷인 경우 origin 필드는 자세한 파일 시스템 목록에 원본 파일 시스템의 UUID를 표시합니다.
27.3. Stratis 스냅샷의 콘텐츠 액세스 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 파일 시스템의 스냅샷을 마운트하여 읽기 및 쓰기 작업에서 액세스할 수 있도록 할 수 있습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 스냅샷을 생성했습니다. 자세한 내용은 Stratis 스냅샷 생성을 참조하십시오.
절차
스냅샷에 액세스하려면
/dev/stratis/my-pool/디렉터리에서 일반 파일 시스템으로 마운트하십시오.mount /dev/stratis/my-pool/my-fs-snapshot mount-point
# mount /dev/stratis/my-pool/my-fs-snapshot mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow
27.4. Stratis 파일 시스템을 이전 스냅샷으로 되돌리기 링크 복사링크가 클립보드에 복사되었습니다!
Stratis 파일 시스템의 콘텐츠를 Stratis 스냅샷에 캡처된 상태로 되돌릴 수 있습니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 스냅샷을 생성했습니다. 자세한 내용은 Stratis 스냅샷 생성을 참조하십시오.
절차
선택 사항: 나중에 액세스할 수 있도록 파일 시스템의 현재 상태를 백업합니다.
stratis filesystem snapshot my-pool my-fs my-fs-backup
# stratis filesystem snapshot my-pool my-fs my-fs-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 원래 파일 시스템을 마운트 해제하고 제거합니다.
umount /dev/stratis/my-pool/my-fs stratis filesystem destroy my-pool my-fs
# umount /dev/stratis/my-pool/my-fs # stratis filesystem destroy my-pool my-fsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 원본 파일 시스템의 이름에 스냅샷 사본을 생성합니다.
stratis filesystem snapshot my-pool my-fs-snapshot my-fs
# stratis filesystem snapshot my-pool my-fs-snapshot my-fsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 원래 파일 시스템과 동일한 이름으로 액세스할 수 있는 스냅샷을 마운트합니다.
mount /dev/stratis/my-pool/my-fs mount-point
# mount /dev/stratis/my-pool/my-fs mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow
my-fs 라는 파일 시스템의 내용은 이제 스냅샷 my-fs-snapshot 과 동일합니다.
27.5. Stratis 스냅샷 제거 링크 복사링크가 클립보드에 복사되었습니다!
풀에서 Stratis 스냅샷을 제거할 수 있습니다. 스냅샷의 데이터가 손실됩니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 스냅샷을 생성했습니다. 자세한 내용은 Stratis 스냅샷 생성을 참조하십시오.
절차
스냅샷을 마운트 해제합니다.
umount /dev/stratis/my-pool/my-fs-snapshot
# umount /dev/stratis/my-pool/my-fs-snapshotCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스냅샷을 삭제합니다.
stratis filesystem destroy my-pool my-fs-snapshot
# stratis filesystem destroy my-pool my-fs-snapshotCopy to Clipboard Copied! Toggle word wrap Toggle overflow
28장. Stratis 파일 시스템 제거 링크 복사링크가 클립보드에 복사되었습니다!
기존 Stratis 파일 시스템 또는 풀을 제거할 수 있습니다. Stratis 파일 시스템 또는 풀이 제거되면 복구할 수 없습니다.
Stratis는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 https://access.redhat.com/support/offerings/techpreview 에서 참조하십시오.
28.1. Stratis 파일 시스템 제거 링크 복사링크가 클립보드에 복사되었습니다!
기존 Stratis 파일 시스템을 제거할 수 있습니다. 저장된 데이터는 손실됩니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. - Stratis 파일 시스템을 생성했습니다. 자세한 내용은 Stratis 파일 시스템 생성을 참조하십시오.
절차
파일 시스템을 마운트 해제합니다.
umount /dev/stratis/my-pool/my-fs
# umount /dev/stratis/my-pool/my-fsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 시스템을 삭제합니다.
stratis filesystem destroy my-pool my-fs
# stratis filesystem destroy my-pool my-fsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
파일 시스템이 더 이상 존재하지 않는지 확인합니다.
stratis filesystem list my-pool
# stratis filesystem list my-poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow
28.2. 웹 콘솔을 사용하여 Stratis 풀에서 파일 시스템 삭제 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 기존 Stratis 풀에서 파일 시스템을 삭제할 수 있습니다.
Stratis 풀 파일 시스템을 삭제하면 포함된 모든 데이터가 지워집니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
Stratis가 설치되고
stratisd서비스가 실행 중입니다.웹 콘솔은 기본적으로 Stratis를 감지하고 설치합니다. 그러나 Stratis를 수동으로 설치하려면 Stratis 설치를 참조하십시오.
- 기존 Stratis 풀이 있고 Stratis 풀에 파일 시스템이 생성됩니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 스토리지를 .
- 스토리지 표에서 파일 시스템을 삭제할 Stratis 풀을 클릭합니다.
- Stratis 풀 페이지에서 Stratis 파일 시스템 섹션으로 스크롤하고 삭제하려는 파일 시스템의 메뉴 버튼을 클릭합니다.
- 드롭다운 메뉴에서 를 선택합니다.
- 삭제 확인 대화 상자에서 삭제 를 클릭합니다.
28.3. Stratis 풀 제거 링크 복사링크가 클립보드에 복사되었습니다!
기존 Stratis 풀을 제거할 수 있습니다. 저장된 데이터는 손실됩니다.
사전 요구 사항
-
Stratis가 설치되고
stratisd서비스가 실행 중입니다. 자세한 내용은 Stratis 설치를 참조하십시오. Stratis 풀을 생성했습니다.
- 암호화되지 않은 풀을 만들려면 암호화되지 않은 Stratis 풀 생성을 참조하십시오.
- 암호화된 풀을 생성하려면 커널 인증 키의 키를 사용하여 암호화된 Stratis 풀 생성을 참조하십시오.
절차
풀에 파일 시스템을 나열합니다.
stratis filesystem list my-pool
# stratis filesystem list my-poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 풀에서 모든 파일 시스템을 마운트 해제합니다.
umount /dev/stratis/my-pool/my-fs-1 \ /dev/stratis/my-pool/my-fs-2 \ /dev/stratis/my-pool/my-fs-n# umount /dev/stratis/my-pool/my-fs-1 \ /dev/stratis/my-pool/my-fs-2 \ /dev/stratis/my-pool/my-fs-nCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일 시스템을 삭제합니다.
stratis filesystem destroy my-pool my-fs-1 my-fs-2
# stratis filesystem destroy my-pool my-fs-1 my-fs-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 풀을 삭제합니다.
stratis pool destroy my-pool
# stratis pool destroy my-poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
풀이 더 이상 존재하지 않는지 확인합니다.
stratis pool list
# stratis pool listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
28.4. 웹 콘솔을 사용하여 Stratis 풀 삭제 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 기존 Stratis 풀을 삭제할 수 있습니다.
Stratis 풀을 삭제하면 포함된 모든 데이터가 지워집니다.
사전 요구 사항
- RHEL 8 웹 콘솔을 설치했습니다.
- cockpit 서비스를 활성화했습니다.
사용자 계정이 웹 콘솔에 로그인할 수 있습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
-
stratisd서비스가 실행 중입니다. - 기존 Stratis 풀이 있습니다.
절차
RHEL 8 웹 콘솔에 로그인합니다.
자세한 내용은 웹 콘솔에 로그인 을 참조하십시오.
- 스토리지를 .
- 스토리지 테이블에서 삭제하려는 Stratis 대한 메뉴 버튼을 클릭합니다.
- 드롭다운 메뉴에서 를 선택합니다.
- Permanently delete pool 대화 상자에서 를 클릭합니다.