LVM LV 위에 LUKS 위에 500GiB ext4 파일 시스템이 있습니다. LV를 100GiB로 크기를 조정하고 싶습니다. LVM LV에서 ext4의 크기를 조정하는 방법을 알고 있지만 LUKS 볼륨을 어떻게 처리합니까?
mgorven@moab:~% sudo lvdisplay /dev/moab/backup
--- Logical volume ---
LV Name /dev/moab/backup
VG Name moab
LV UUID nQ3z1J-Pemd-uTEB-fazN-yEux-nOxP-QQair5
LV Write Access read/write
LV Status available
# open 1
LV Size 500.00 GiB
Current LE 128000
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 2048
Block device 252:3
mgorven@moab:~% sudo cryptsetup status backup
/dev/mapper/backup is active and is in use.
type: LUKS1
cipher: aes-cbc-essiv:sha256
keysize: 256 bits
device: /dev/mapper/moab-backup
offset: 3072 sectors
size: 1048572928 sectors
mode: read/write
mgorven@moab:~% sudo tune2fs -l /dev/mapper/backup
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name: backup
Last mounted on: /srv/backup
Filesystem UUID: 63877e0e-0549-4c73-8535-b7a81eb363ed
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean with errors
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 32768000
Block count: 131071616
Reserved block count: 0
Free blocks: 112894078
Free inodes: 32044830
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 992
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
RAID stride: 128
RAID stripe width: 128
Flex block group size: 16
Filesystem created: Sun Mar 11 19:24:53 2012
Last mount time: Sat May 19 13:29:27 2012
Last write time: Fri Jun 1 11:07:22 2012
Mount count: 0
Maximum mount count: 100
Last checked: Fri Jun 1 11:03:50 2012
Check interval: 31104000 (12 months)
Next check after: Mon May 27 11:03:50 2013
Lifetime writes: 118 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 383bcbc5-fde9-4720-b98e-2d6224713ecf
Journal backup: inode blocks
답변
LUKS는 실제로 장치의 크기를 저장하지 않으며 볼륨이 열릴 때 단순히 장치를 감지합니다. 따라서 프로세스 중에 볼륨을 닫았다가 다시 열지 않은 경우에만 작동합니다 (예 : 온라인 확장 수행). 이 경우 열린 볼륨의 크기를 다시 검색해야합니다.
볼륨을 줄이려면 다음 프로세스를 사용하십시오.
- 파일 시스템을 마운트 해제
umount
- 파일 시스템 크기를
resize2fs
- 다음으로 LUKS 볼륨을 닫습니다
cryptsetup luksClose
- 와 LV의 크기를 조정
lvreduce
하거나lvresize
- 다음으로 LUKS 볼륨을 엽니 다
cryptsetup luksOpen
- 파일 시스템을 마운트
mount
luksClose
및 luksOpen
단계를 생략 cryptsetup resize
하고 LV 크기를 조정 한 후 사용할 수도 있습니다 . LUKS는 메타 데이터를 저장하기 위해 약간의 추가 공간을 사용하므로 LV는 파일 시스템보다 약간 커야합니다. 일반적으로 파일 시스템의 크기를 크게 작게 한 다음 LV 크기를 조정 한 후 다시 확장합니다.
파일 시스템을 확장하고 온라인 상태로 만들려면 다음 프로세스를 사용하십시오.
- 와 LV의 크기를 조정
lvextend
하거나lvresize
- 열린 LUKS 볼륨의 크기를
cryptsetup resize
- 파일 시스템을
resize2fs