LUKS 암호화 볼륨 크기 조정 ext4의 크기를

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는 실제로 장치의 크기를 저장하지 않으며 볼륨이 열릴 때 단순히 장치를 감지합니다. 따라서 프로세스 중에 볼륨을 닫았다가 다시 열지 않은 경우에만 작동합니다 (예 : 온라인 확장 수행). 이 경우 열린 볼륨의 크기를 다시 검색해야합니다.

볼륨을 줄이려면 다음 프로세스를 사용하십시오.

  1. 파일 시스템을 마운트 해제 umount
  2. 파일 시스템 크기를 resize2fs
  3. 다음으로 LUKS 볼륨을 닫습니다 cryptsetup luksClose
  4. 와 LV의 크기를 조정 lvreduce하거나lvresize
  5. 다음으로 LUKS 볼륨을 엽니 다 cryptsetup luksOpen
  6. 파일 시스템을 마운트 mount

luksCloseluksOpen단계를 생략 cryptsetup resize하고 LV 크기를 조정 한 후 사용할 수도 있습니다 . LUKS는 메타 데이터를 저장하기 위해 약간의 추가 공간을 사용하므로 LV는 파일 시스템보다 약간 커야합니다. 일반적으로 파일 시스템의 크기를 크게 작게 한 다음 LV 크기를 조정 한 후 다시 확장합니다.

파일 시스템을 확장하고 온라인 상태로 만들려면 다음 프로세스를 사용하십시오.

  1. 와 LV의 크기를 조정 lvextend하거나lvresize
  2. 열린 LUKS 볼륨의 크기를 cryptsetup resize
  3. 파일 시스템을 resize2fs

답변