RHEL 스토리지 파티션 및 스왑 공간 관리

Red Hat Enterprise LinuxBeginner
지금 연습하기

소개

이 실습에서는 Red Hat Enterprise Linux(RHEL) 시스템에서 스토리지 파티션과 스왑 공간을 관리하는 실무 경험을 쌓습니다. XFS 파티션을 생성하고 영구적으로 마운트하는 방법, 그리고 우선순위가 다른 스왑 파티션을 구성하고 활성화하는 방법을 배웁니다. 이 실습은 LabEx VM 환경의 가용 스토리지 장치를 사용하여 필수적인 시스템 관리 기술을 연습할 수 있도록 구성되어 있습니다.

먼저 사용 가능한 디스크를 검사한 다음, 필요한 경우 GPT 파티션 테이블 설정을 포함하여 파티션을 생성하고 관리하는 과정을 진행합니다. 이 실습은 영구적인 마운트와 스왑 활성화를 보장하는 데 중점을 두며, RHEL 환경에서의 디스크 관리에 대한 포괄적인 이해를 제공합니다.

사용 가능한 실습용 디스크 검사

이 단계에서는 LabEx VM에서 사용 가능한 스토리지 장치를 검사합니다. LabEx 환경은 파티션 연습을 위한 추가 스토리지 장치를 제공하지만, 장치 이름은 VM 인스턴스마다 다를 수 있습니다.

먼저, 디스크 관리 작업을 수행하기 위해 루트 사용자로 전환합니다. 현재 sudo 권한이 있는 labex 사용자로 로그인되어 있습니다.

sudo su -

이제 lsblk 명령을 사용하여 시스템에서 사용 가능한 블록 장치를 확인합니다.

lsblk

시스템 디스크와 하나의 추가 디스크가 표시되는 다음과 유사한 출력을 볼 수 있습니다.

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda         253:0    0   40G  0 disk
├─vda1      253:1    0    1M  0 part
├─vda2      253:2    0  100M  0 part /boot/efi
└─vda3      253:3    0 39.9G  0 part /
nvme1n1     259:0    0   40G  0 disk

다음으로, 추가 실습용 디스크를 식별하고 나머지 단계에서 사용할 재사용 가능한 셸 변수를 정의합니다. PRACTICE_DISK 변수는 디스크 장치를 저장하고, PART_PREFIX/dev/vdb1/dev/nvme1n1p1과 같은 장치 간의 파티션 이름 차이를 처리합니다.

export ROOT_PARTITION="$(findmnt -n -o SOURCE /)"
export ROOT_DISK="/dev/$(lsblk -no PKNAME "$ROOT_PARTITION")"
export PRACTICE_DISK="$(lsblk -dpno NAME,TYPE | awk -v root="$ROOT_DISK" '$2=="disk" && $1 != root {print $1; exit}')"
if [[ "$PRACTICE_DISK" =~ [0-9]$ ]]; then
  export PART_PREFIX="${PRACTICE_DISK}p"
else
  export PART_PREFIX="${PRACTICE_DISK}"
fi
echo "Practice disk: $PRACTICE_DISK"
echo "Partition prefix: $PART_PREFIX"

다음과 유사한 출력이 표시되어야 합니다. 장치 이름은 /dev/vdb, /dev/nvme0n1 또는 /dev/nvme1n1일 수 있습니다.

Practice disk: /dev/nvme1n1
Partition prefix: /dev/nvme1n1p

-f 옵션과 함께 lsblk 명령을 사용하여 실습용 디스크의 파일 시스템 정보를 표시합니다.

lsblk -f "$PRACTICE_DISK"

실습용 디스크가 포맷되지 않은 새 디스크임을 나타내는 다음과 유사한 출력이 표시되어야 합니다.

NAME     FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme1n1

다음으로, parted 명령을 사용하여 파티션 테이블을 포함한 디스크에 대한 더 자세한 정보를 확인합니다.

parted "$PRACTICE_DISK" print

출력에는 실습용 디스크에 아직 파티션 테이블이 없다는 내용이 표시되어야 합니다. 모델 및 장치 이름은 VM 인스턴스와 일치합니다.

Error: /dev/nvme1n1: unrecognised disk label
Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

이는 추가 실습용 디스크가 파티셔닝 준비가 되었음을 확인해 줍니다. 오류 메시지는 아직 파티션 테이블로 초기화되지 않은 디스크에 대해 정상적인 반응입니다.

실습용 디스크에 XFS 파티션 생성 및 영구 마운트

이 단계에서는 실습용 디스크에 새 파티션을 생성하고, XFS 파일 시스템으로 포맷한 다음, 영구적으로 마운트되도록 구성합니다.

아래 명령은 1단계에서 사용한 루트 셸에 그대로 있다고 가정하므로 PRACTICE_DISKPART_PREFIX 변수를 계속 사용할 수 있습니다. 해당 디스크에 1GB 기본 파티션을 생성하고 파일 시스템 유형을 XFS로 지정합니다. 2048s 섹터에서 시작하는 것은 일반적인 정렬 방식입니다.

먼저 초기화되지 않은 디스크에 파티션 테이블을 생성합니다. parted를 대화형 모드로 사용하여 파티션 테이블과 파티션을 생성합니다.

parted "$PRACTICE_DISK"
GNU Parted 3.5
Using /dev/nvme1n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
(parted) mkpart
Partition type?  primary/extended? primary
File system type?  [ext2]? xfs
Start? 2048s
End? 1001MB
(parted) quit
Information: You may need to update /etc/fstab.

참고: mklabel msdos 명령은 디스크에 MBR(Master Boot Record) 파티션 테이블을 생성합니다. 이는 파티션을 생성하기 전에 필수적인 단계입니다. 파티션 테이블을 생성한 후 mkpart를 진행하여 실제 파티션을 생성할 수 있습니다. 파티션이 2048s 섹터에서 시작하므로 끝 위치를 1001MB로 설정하면 약 1GB 크기의 파티션이 생성됩니다. parted를 종료할 때 /etc/fstab 업데이트에 관한 정보 메시지가 표시되는데, 이는 정상입니다.

파티션이 생성되었는지 확인하려면 실습용 디스크의 파티션 테이블을 출력합니다.

parted "$PRACTICE_DISK" print

새로 생성된 기본 파티션이 표시되는 다음과 유사한 출력을 볼 수 있습니다.

Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1001MB  1000MB  primary

새 파티션을 생성한 후 udevadm settle을 실행하여 커널이 /dev/vdb1 또는 /dev/nvme1n1p1과 같은 새 파티션 장치를 등록하도록 합니다.

udevadm settle

이제 파티션이 생성되었으므로 XFS 파일 시스템으로 포맷합니다.

mkfs.xfs "${PART_PREFIX}1"

출력에는 XFS 파일 시스템 생성에 대한 세부 정보가 표시됩니다.

meta-data=/dev/nvme1n1p1         isize=512    agcount=4, agsize=61056 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=244224, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

파일 시스템에 액세스할 수 있도록 마운트 지점 디렉토리를 생성합니다. 이 파티션을 /archive에 마운트합니다.

mkdir -p /archive

영구 마운트를 위해 /etc/fstab에 항목을 추가합니다. /dev/vdb1 또는 /dev/nvme1n1p1과 같은 장치 이름은 환경에 따라 달라질 수 있으므로 파티션 UUID를 사용합니다.

첫 번째 파티션의 UUID를 확인합니다.

lsblk --fs "${PART_PREFIX}1"

출력에서 UUID를 기록해 둡니다. 881e856c-37b1-41e3-b009-ad526e46d987과 같은 형태일 것입니다.

NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme1n1p1   xfs                2ee03827-6acf-4543-9a21-0fd031250b45

이제 nano를 사용하여 /etc/fstab 파일을 열고 파티션에 대한 새 줄을 추가합니다. YOUR_UUID_HERE를 방금 찾은 실제 UUID로 바꿉니다.

nano /etc/fstab

파일 끝에 다음 줄을 추가합니다.

UUID=YOUR_UUID_HERE /archive xfs defaults 0 0

Ctrl+X를 누르고 Y를 눌러 확인한 다음 Enter를 눌러 파일을 저장합니다.

/etc/fstab을 수정한 후 systemd가 새 항목을 인식하도록 구성을 다시 로드합니다.

systemctl daemon-reload

마지막으로 /etc/fstab의 항목을 사용하여 새 파일 시스템을 마운트합니다.

mount /archive

새 파일 시스템이 올바르게 마운트되었는지 확인합니다.

mount | grep /archive

성공적인 마운트를 확인하는 다음과 유사한 출력이 표시되어야 합니다.

/dev/nvme1n1p1 on /archive type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)

실습용 디스크에 스왑 파티션 생성 및 활성화

이 단계에서는 실습용 디스크에 스왑 파티션을 생성합니다. 스왑 공간은 시스템의 물리적 RAM이 부족할 때 임시 저장소로 사용되는 HDD 또는 SSD의 일부입니다. RAM이 부족할 때 시스템이 느려지더라도 계속 작동할 수 있도록 RAM의 오버플로 역할을 합니다.

먼저 실습용 디스크의 현재 파티션 테이블을 검사하여 새 스왑 파티션을 생성할 위치를 결정합니다.

parted "$PRACTICE_DISK" print

이전 단계에서 생성한 기존 XFS 파티션(${PART_PREFIX}1)이 표시되어야 합니다.

Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1001MB  1000MB  primary  xfs

이제 스왑 공간으로 사용할 500MB의 새 기본 파티션을 추가합니다. 새 파티션은 기존 첫 번째 파티션 바로 뒤에서 시작하므로 1001MB에서 시작하여 1501MB에서 끝납니다.

비대화형 모드에서 parted를 사용하여 이 파티션을 생성합니다.

parted "$PRACTICE_DISK" mkpart primary linux-swap 1001MB 1501MB

Information: You may need to update /etc/fstab. 메시지가 다시 표시될 수 있습니다.

실습용 디스크의 파티션을 나열하여 작업을 확인합니다.

parted "$PRACTICE_DISK" print

이제 두 개의 파티션이 표시되어야 하며, 두 번째 파티션은 새 스왑 파티션입니다.

Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1001MB  1000MB  primary  xfs
 2      1001MB  1501MB  499MB   primary               swap

이전과 마찬가지로 udevadm settle을 실행하여 시스템이 새 파티션을 등록하고 /dev/vdb2 또는 /dev/nvme1n1p2와 같은 장치 파일을 생성하도록 합니다.

udevadm settle

이제 mkswap 명령을 사용하여 두 번째 파티션을 스왑 공간으로 포맷합니다.

mkswap "${PART_PREFIX}2"

출력에는 크기와 생성된 UUID를 포함하여 스왑 공간 생성에 대한 세부 정보가 표시됩니다.

Setting up swapspace version 1, size = 476 MiB (499118080 bytes)
no label, UUID=4379b167-ab39-4c83-bf7c-b28fbdb38725

새 스왑 공간을 영구적으로 활성화하도록 구성하려면 /etc/fstab에 항목을 추가합니다. 먼저 두 번째 파티션의 UUID를 확인합니다.

lsblk -o UUID "${PART_PREFIX}2"

출력에서 UUID를 기록해 둡니다. 4379b167-ab39-4c83-bf7c-b28fbdb38725와 유사할 것입니다.

UUID
4379b167-ab39-4c83-bf7c-b28fbdb38725

nano를 사용하여 /etc/fstab을 열고 스왑 파티션에 대한 새 줄을 추가합니다. YOUR_SWAP_UUID_HERE를 방금 찾은 실제 UUID로 바꿉니다.

nano /etc/fstab

파일 끝에 다음 줄을 추가합니다.

UUID=YOUR_SWAP_UUID_HERE swap swap defaults 0 0

Ctrl+X를 누르고 Y를 눌러 확인한 다음 Enter를 눌러 파일을 저장합니다.

/etc/fstab을 수정한 후 systemd 데몬을 다시 로드하여 새 항목을 인식시킵니다.

systemctl daemon-reload

마지막으로 swapon -a를 사용하여 스왑 공간을 활성화합니다.

swapon -a

새 스왑 공간이 활성화되었는지 확인합니다.

swapon --show

새 스왑 파티션이 활성화되어 사용할 준비가 되었음을 확인하는 다음과 유사한 출력이 표시되어야 합니다.

NAME            TYPE      SIZE USED PRIO
/dev/nvme1n1p2  partition 476M   0B   -2

실습용 디스크에 추가 파티션 생성

이 단계에서는 실습용 디스크에 추가 파티션을 생성합니다. MBR(msdos) 파티션 테이블을 사용하여 하나의 XFS 파티션과 하나의 스왑 파티션을 생성했으므로 더 많은 파티션을 위한 공간이 남아 있습니다. 이제 더 큰 파티션 관리를 보여주는 세 번째 파티션을 생성합니다.

먼저 실습용 디스크의 현재 파티션 테이블과 사용 가능한 공간을 확인합니다.

parted "$PRACTICE_DISK" print

이전에 생성한 두 개의 파티션이 표시되어야 합니다.

Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1001MB  1000MB  primary  xfs
 2      1001MB  1501MB  500MB   primary  linux-swap

이제 추가 스토리지를 위해 2GB의 세 번째 파티션을 생성합니다. 이 파티션은 1501MB(스왑 파티션의 끝)에서 시작하여 3501MB(1501MB + 2000MB)에서 끝납니다.

parted "$PRACTICE_DISK" mkpart primary xfs 1501MB 3501MB

Information: You may need to update /etc/fstab. 메시지가 표시될 수 있습니다.

세 번째 파티션 생성을 확인합니다.

parted "$PRACTICE_DISK" print

이제 세 개의 파티션이 표시되어야 합니다.

Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1001MB  1000MB  primary  xfs
 2      1001MB  1501MB  500MB   primary  linux-swap
 3      1501MB  3501MB  2000MB  primary

udevadm settle을 실행하여 시스템이 새 파티션을 감지하도록 합니다.

udevadm settle

세 번째 파티션 포맷 및 영구 마운트

이 단계에서는 세 번째 파티션(${PART_PREFIX}3)을 XFS 파일 시스템으로 포맷하고 /backup에 영구적으로 마운트되도록 구성합니다.

먼저 세 번째 파티션을 XFS 파일 시스템으로 포맷합니다.

mkfs.xfs "${PART_PREFIX}3"

출력에는 XFS 파일 시스템 생성에 대한 세부 정보가 표시됩니다.

meta-data=/dev/nvme1n1p3         isize=512    agcount=4, agsize=122880 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=491520, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

이제 이 파티션에 대한 마운트 지점 디렉토리를 생성합니다. /backup에 마운트합니다.

mkdir -p /backup

파일 시스템이 자동으로 마운트되도록 /etc/fstab에 항목을 추가합니다. 먼저 세 번째 파티션의 UUID를 찾습니다.

lsblk -o UUID "${PART_PREFIX}3"

출력에서 UUID를 기록해 둡니다. f74ed805-b1fc-401a-a5ee-140f97c6757d와 같은 고유 식별자일 것입니다.

UUID
f74ed805-b1fc-401a-a5ee-140f97c6757d

nano를 사용하여 /etc/fstab 파일을 열고 새 항목을 추가합니다. YOUR_UUID_HERE를 찾은 실제 UUID로 바꿉니다.

nano /etc/fstab

파일 끝에 다음 줄을 추가합니다.

UUID=YOUR_UUID_HERE /backup xfs defaults 0 0

파일을 저장합니다(Ctrl+X, Y, Enter).

/etc/fstab을 수정한 후 systemd 데몬을 다시 로드하여 변경 사항을 적용합니다.

systemctl daemon-reload

마지막으로 /backup 디렉토리를 수동으로 마운트하여 구성이 올바른지 확인합니다.

mount /backup

mount 명령 출력을 확인하여 마운트가 성공했는지 확인합니다.

mount | grep /backup

다음과 유사한 출력이 표시되어야 합니다.

/dev/nvme1n1p3 on /backup type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

실습용 디스크에 우선순위를 지정하여 추가 스왑 파티션 생성

이 단계에서는 실습용 디스크에 추가 스왑 파티션을 하나 더 생성하고 파티션 테이블 제한에 대해 배웁니다. 또한 스왑 파티션에 우선순위를 할당하는 방법도 배웁니다. 여러 스왑 파티션이 활성화된 경우 시스템은 우선순위가 가장 높은 파티션을 먼저 사용합니다.

파티션 테이블 제한 이해:

현재 설정은 MBR(msdos) 파티션 테이블을 사용하며, 이는 4개의 기본 파티션만 생성할 수 있다는 제한이 있습니다. 이 단계에서 네 번째 파티션을 생성한 후에는 GPT로 변환하거나 확장 파티션을 사용하지 않는 한 추가 기본 파티션을 생성할 수 없습니다.

먼저 실습용 디스크의 현재 파티션 테이블을 확인합니다.

parted "$PRACTICE_DISK" print

지금까지 생성한 4개의 파티션이 표시되어야 합니다.

Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1001MB  1000MB  primary  xfs
 2      1001MB  1501MB  500MB   primary  linux-swap
 3      1501MB  3501MB  2000MB  primary  xfs

이제 네 번째 파티션을 512MB 스왑 파티션으로 생성합니다. 3501MB(세 번째 파티션의 끝)에서 시작하여 4013MB(3501MB + 512MB)에서 끝납니다.

parted "$PRACTICE_DISK" mkpart primary linux-swap 3501MB 4013MB

Information: You may need to update /etc/fstab. 메시지가 표시될 수 있습니다.

MBR 제한에 대한 참고: 이 시점에서 MBR 파티션 테이블의 4개 파티션 제한에 도달했습니다. 다섯 번째 기본 파티션을 생성하려고 하면 Error: Can't create any more partitions. 오류가 발생합니다.

파티션 테이블을 표시하여 작업을 확인합니다.

parted "$PRACTICE_DISK" print

이제 4개의 파티션이 표시되어야 합니다.

Model: Amazon Elastic Block Store (nvme)
Disk /dev/nvme1n1: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1001MB  1000MB  primary  xfs
 2      1001MB  1501MB  500MB   primary  linux-swap
 3      1501MB  3501MB  2000MB  primary  xfs
 4      3501MB  4013MB  512MB   primary  linux-swap

udevadm settle을 실행하여 시스템이 새 파티션을 등록하고 /dev/vdb4 또는 /dev/nvme1n1p4와 같은 장치 파일을 생성하도록 합니다.

udevadm settle

이제 mkswap 명령을 사용하여 새 파티션을 스왑 공간으로 초기화합니다. /etc/fstab에 필요하므로 네 번째 파티션의 UUID를 기록해 둡니다.

mkswap "${PART_PREFIX}4"

네 번째 파티션에 대한 출력 예시:

Setting up swapspace version 1, size = 488 MiB (511705088 bytes)
no label, UUID=87976166-4697-47b7-86d1-73a02f0fc803

이 스왑 공간을 특정 우선순위로 활성화하도록 구성하려면 /etc/fstab 파일에 항목을 추가해야 합니다. pri(우선순위) 값이 높을수록 우선순위가 높음을 의미합니다. 새 스왑 파티션에 더 높은 우선순위를 설정합니다.

nano를 사용하여 /etc/fstab을 엽니다.

nano /etc/fstab

파일 끝에 다음 줄을 추가하고 UUID를 기록해 둔 것으로 바꿉니다.

UUID=UUID_OF_PARTITION4 swap swap pri=10 0 0

pri 옵션 설명:

  • pri=10: 네 번째 파티션에 10의 우선순위를 할당합니다. 이는 두 번째 파티션의 기본 우선순위(-2)보다 높으므로 시스템은 네 번째 파티션을 먼저 선호합니다.

파일을 저장합니다(Ctrl+X, Y, Enter).

systemd 데몬을 다시 로드하여 새 /etc/fstab 항목을 인식시킵니다.

systemctl daemon-reload

swapon -a를 사용하여 새 스왑 공간을 활성화합니다.

swapon -a

swapon --show를 사용하여 스왑 공간의 올바른 활성화 및 우선순위를 확인합니다.

swapon --show

모든 활성 스왑 파티션과 그 우선순위가 표시되어야 합니다. 두 번째 파티션은 기본 우선순위 -2를 가지며, 네 번째 파티션은 할당한 우선순위(10)를 가집니다.

NAME            TYPE      SIZE USED PRIO
/dev/nvme1n1p2  partition 476M   0B   -2
/dev/nvme1n1p4  partition 488M   0B   10

학습 참고: 프로덕션 환경에서 4개 이상의 파티션이 필요한 경우 다음 중 하나를 수행합니다.

  1. GPT 파티션 테이블로 변환(최대 128개 파티션 지원)
  2. 확장 파티션 내에 논리 파티션 사용
  3. 더 유연한 스토리지 관리를 위해 LVM(Logical Volume Manager) 사용

재부팅 없이 영구 마운트 구성 확인

이 마지막 단계에서는 시스템을 실제로 재부팅하지 않고 영구 마운트 구성을 테스트합니다. 재부팅하면 LabEx 환경에서 연결이 끊기기 때문입니다. 대신 다양한 명령을 사용하여 재시작 후 구성이 올바르게 작동하는지 시뮬레이션하고 확인합니다.

먼저 모든 마운트 항목이 /etc/fstab에 올바르게 구성되었는지 확인합니다. /etc/fstab의 내용을 표시하여 항목을 검토합니다.

cat /etc/fstab

XFS 파티션 및 스왑 공간에 대한 항목이 다음과 유사하게 표시되어야 합니다.

## ... 기존 시스템 항목 ...
UUID=your-archive-uuid /archive xfs defaults 0 0
UUID=your-swap-low-uuid swap swap defaults 0 0
UUID=your-backup-uuid /backup xfs defaults 0 0
UUID=your-swap-high-uuid swap swap pri=10 0 0

이제 파일 시스템을 언마운트하고 다시 마운트하여 올바르게 작동하는지 확인함으로써 마운트 구성을 테스트합니다.

먼저 /archive 디렉토리를 언마운트합니다.

umount /archive

언마운트되었는지 확인합니다.

mount | grep /archive

출력이 없어야 합니다.

이제 /etc/fstab 항목을 사용하여 다시 마운트합니다.

mount /archive

다시 마운트되었는지 확인합니다.

mount | grep /archive

다음이 표시되어야 합니다.

/dev/nvme1n1p1 on /archive type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)

/backup에 대해서도 동일한 과정을 반복합니다.

umount /backup
mount /backup
mount | grep /backup

다음이 표시되어야 합니다.

/dev/nvme1n1p3 on /backup type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

스왑 공간의 경우 끄고 다시 켜서 테스트합니다. 먼저 모든 스왑을 끕니다.

swapoff -a

스왑이 활성화되지 않았는지 확인합니다.

swapon --show

존재할 수 있는 시스템 스왑은 표시될 수 있지만 사용자 지정 스왑 파티션은 표시되지 않아야 합니다.

이제 /etc/fstab을 사용하여 모든 스왑을 켭니다.

swapon -a

모든 스왑 공간이 올바른 우선순위로 활성화되었는지 확인합니다.

swapon --show

사용자 지정 스왑 파티션이 활성화되고 우선순위가 높은 것이 선호되는 다음과 유사한 출력이 표시되어야 합니다.

NAME            TYPE      SIZE USED PRIO
/dev/nvme1n1p2  partition 476M   0B   -2
/dev/nvme1n1p4  partition 488M   0B   10

마지막으로 systemd가 오류 없이 모든 /etc/fstab 항목을 처리할 수 있는지 테스트합니다.

systemctl daemon-reload

오류 메시지 없이 완료되어야 합니다.

findmnt 명령을 사용하여 커널이 /etc/fstab에 정의된 모든 파일 시스템을 마운트할 수 있는지 확인할 수도 있습니다.

findmnt --verify

이 명령은 잠재적인 문제를 확인하기 위해 /etc/fstab을 검사합니다. 이 실습에서는 의도적으로 두 개의 swap 항목을 정의하므로 findmnt --verifyswap 대상이 두 번 이상 나타난다는 경고를 출력할 수 있습니다. 해당 경고는 이 실습에서 예상되는 것이지만, 명령이 구문 분석 오류나 하드 오류를 보고해서는 안 됩니다.

모든 작업에 대한 최종 요약을 표시합니다.

echo "=== 최종 스토리지 구성 요약 ==="
echo "파티션 테이블:"
parted "$PRACTICE_DISK" print
echo ""
echo "마운트된 파일 시스템:"
mount | grep -E "/archive|/backup"
echo ""
echo "활성 스왑 공간:"
swapon --show
echo ""
echo "영구성을 위한 fstab 항목:"
grep -E "archive|backup|swap" /etc/fstab
echo ""
echo "UUID 확인:"
echo "장치 UUID:"
lsblk -f "${PART_PREFIX}"{1,2,3,4}

이것으로 스토리지 파티션 및 스왑 공간 관리에 대한 실습을 마칩니다. 시스템 재부팅 없이도 다양한 파일 시스템으로 여러 파티션을 성공적으로 생성 및 구성하고, 영구 마운트를 설정하며, 우선순위가 있는 스왑 공간을 구성했습니다.

요약

이 실습에서 참가자들은 LabEx VM 환경 내의 RHEL 9 시스템에서 스토리지 파티션과 스왑 공간을 관리하는 방법을 배웠습니다. 실습은 현재 VM에서 추가 실습용 디스크를 식별하고 파티셔닝 작업을 진행하기 전에 현재 상태를 파악하는 것으로 시작되었습니다.

참가자들은 해당 실습용 디스크를 사용하여 MBR 파티션 테이블을 생성한 다음, /archive에 마운트할 XFS 파티션, 스왑 파티션, /backup에 마운트할 또 다른 XFS 파티션, 그리고 우선순위 구성이 포함된 추가 스왑 파티션을 생성했습니다. 또한 MBR 파티션 테이블의 제한(기본 파티션 4개 제한)을 보여주고 더 많은 파티션이 필요한 시나리오를 위한 GPT와 같은 대안에 대한 통찰력을 제공했습니다.

실습의 중요한 측면은 적절한 /etc/fstab 항목을 통해 영구적인 구성을 보장하고, (LabEx 환경의 연결을 끊을 수 있는) 시스템 재부팅 없이 구성을 테스트하는 것이었습니다. 실습은 모든 마운트와 스왑 공간이 올바르게 활성화되는지 확인하기 위한 포괄적인 검증 절차로 마무리되었으며, 실용적인 클라우드 기반 학습 환경에서 필수적인 RHEL 스토리지 관리 기술에 대한 실무 경험을 제공했습니다.