용어를 명확히 하다

용어를 명확히 하다

Arch가 설치된 노트북이 있는데 루트 파티션을 너무 작게 만들었습니다. 이제 주 파티션에서 일부를 가져와 파티션을 확장하고 싶습니다. 구체적인 내용은 아래에서 소개하겠습니다. 내가 당신에게 드리는 질문은

1) 루트만 확장하나요? 아니면 집 크기를 줄이나요? 아니면 둘다? 둘 다라면 순서가 중요합니까? 나는 온라인에서 여러 가지 방법으로 이 일을 하는 몇몇 사람들을 보았습니다. 그래서 이것이 나를 혼란스럽게 합니다.

2) 나는 따라야 한다아치 문서정확히? 배포판에 국한되지 않을 수 있는 내가 본 다른 것과는 다릅니다. 또한 확장 아래에 새 파티션을 만드는 것과 같은 내용을 언급하지만 이전 파티션으로 무엇을 해야 하는지는 언급하지 않기 때문에 질문합니다. 대답이 '예'라면 설명해 주시면 좋을 것 같습니다.

3) 나중에 fstab을 업데이트해야 합니까?

4) 모든 것이 순조롭게 진행된다면 내 데이터는 여전히 이 파티션에 존재해야겠죠? 분명히 나는 ​​확실히 하기 위해 백업했습니다.

내 구체적인 세부 정보는 다음과 같습니다.

> df -h
Filesystem               Size  Used Avail Use% Mounted on
dev                      7.7G     0  7.7G   0% /dev
run                      7.7G  1.2M  7.7G   1% /run
/dev/mapper/archvg-root  9.8G  9.3G     0 100% /
tmpfs                    7.7G  723M  7.0G  10% /dev/shm
tmpfs                    7.7G     0  7.7G   0% /sys/fs/cgroup
tmpfs                    7.7G   16K  7.7G   1% /tmp
/dev/nvme0n1p1           749M   62M  688M   9% /boot
/dev/mapper/archvg-home  456G  3.0G  430G   1% /home
tmpfs                    1.6G   16K  1.6G   1% /run/user/1000
/dev/fuse                250G   78M  250G   1% /run/user/1000/keybase/kbfs

> lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
nvme0n1           259:0    0   477G  0 disk
├─nvme0n1p1       259:1    0   750M  0 part  /boot
└─nvme0n1p2       259:2    0 476.2G  0 part
  └─archlv        254:0    0 476.2G  0 crypt
    ├─archvg-swap 254:1    0     2G  0 lvm   [SWAP]
    ├─archvg-root 254:2    0    10G  0 lvm   /
    └─archvg-home 254:3    0 464.2G  0 lvm   /home

> sudo pvdisplay -m
  --- Physical volume ---
  PV Name               /dev/mapper/archlv
  VG Name               archvg
  PV Size               476.20 GiB / not usable <1.32 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              121908
  Free PE               0
  Allocated PE          121908
  PV UUID               m11dPA-mPYo-6dLS-mXPF-V1Ww-jXuO-QXfB8e

  --- Physical Segments ---
  Physical extent 0 to 511:
    Logical volume      /dev/archvg/swap
    Logical extents     0 to 511
  Physical extent 512 to 3071:
    Logical volume      /dev/archvg/root
    Logical extents     0 to 2559
  Physical extent 3072 to 121907:
    Logical volume      /dev/archvg/home
Logical extents 0 to 118835

> sudo cat /etc/crypttab
# Configuration for encrypted block devices.
# See crypttab(5) for details.

# NOTE: Do not list your root (/) partition here, it must be set up
#       beforehand by the initramfs (/etc/mkinitcpio.conf).

# <name>       <device>                                     <password>              <options>
# home         UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37    /etc/mypassword1
# data1        /dev/sda3                                    /etc/mypassword2
# data2        /dev/sda5                                    /etc/cryptfs.key
# swap         /dev/sdx4                                    /dev/urandom            swap,cipher=aes-cbc-essiv:sha256,size=256
# vol          /dev/sdb7                                    none

> sudo cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# UUID=8ab13737-d7f1-4f2c-b67b-ad15f7374978
/dev/mapper/archvg-root /               ext4            rw,relatime     0 1

# UUID=dc591a00-12d4-49fa-a81e-e80fa71e7aca
/dev/mapper/archvg-home /home           ext4            rw,relatime     0 2

# UUID=5A10-D12E
/dev/nvme0n1p1          /boot           vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro       0 2

# UUID=492bf365-32de-4756-86da-7fc335dba3dd
/dev/mapper/archvg-swap none            swap            defaults,pri=-2 0 0

> findmnt
TARGET                                SOURCE         FSTYPE      OPTIONS
/                                     /dev/mapper/archvg-root
│                                                    ext4        rw,relatime
├─/proc                               proc           proc        rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc          systemd-1      autofs      rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13001
│   └─/proc/sys/fs/binfmt_misc        binfmt_misc    binfmt_misc rw,relatime
├─/sys                                sys            sysfs       rw,nosuid,nodev,noexec,relatime
│ ├─/sys/firmware/efi/efivars         efivarfs       efivarfs    rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security              securityfs     securityfs  rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup                    tmpfs          tmpfs       ro,nosuid,nodev,noexec,mode=755
│ │ ├─/sys/fs/cgroup/unified          cgroup2        cgroup2     rw,nosuid,nodev,noexec,relatime,nsdelegate
│ │ ├─/sys/fs/cgroup/systemd          cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,xattr,name=systemd
│ │ ├─/sys/fs/cgroup/cpu,cpuacct      cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,cpu,cpuacct
│ │ ├─/sys/fs/cgroup/perf_event       cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,perf_event
│ │ ├─/sys/fs/cgroup/rdma             cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,rdma
│ │ ├─/sys/fs/cgroup/devices          cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,devices
│ │ ├─/sys/fs/cgroup/net_cls,net_prio cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,net_cls,net_prio
│ │ ├─/sys/fs/cgroup/blkio            cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,blkio
│ │ ├─/sys/fs/cgroup/pids             cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,pids
│ │ ├─/sys/fs/cgroup/memory           cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,memory
│ │ ├─/sys/fs/cgroup/cpuset           cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,cpuset
│ │ ├─/sys/fs/cgroup/hugetlb          cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,hugetlb
│ │ └─/sys/fs/cgroup/freezer          cgroup         cgroup      rw,nosuid,nodev,noexec,relatime,freezer
│ ├─/sys/fs/pstore                    pstore         pstore      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/bpf                       bpf            bpf         rw,nosuid,nodev,noexec,relatime,mode=700
│ ├─/sys/kernel/debug                 debugfs        debugfs     rw,relatime
│ ├─/sys/kernel/config                configfs       configfs    rw,relatime
│ └─/sys/fs/fuse/connections          fusectl        fusectl     rw,relatime
├─/dev                                dev            devtmpfs    rw,nosuid,relatime,size=8054652k,nr_inodes=2013663,mode=755
│ ├─/dev/shm                          tmpfs          tmpfs       rw,nosuid,nodev
│ ├─/dev/pts                          devpts         devpts      rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/mqueue                       mqueue         mqueue      rw,relatime
│ └─/dev/hugepages                    hugetlbfs      hugetlbfs   rw,relatime,pagesize=2M
├─/run                                run            tmpfs       rw,nosuid,nodev,relatime,mode=755
│ ├─/run/user/1000                    tmpfs          tmpfs       rw,nosuid,nodev,relatime,size=1613400k,mode=700,uid=1000,gid=985
│ │ └─/run/user/1000/keybase/kbfs     /dev/fuse      fuse        rw,nosuid,nodev,relatime,user_id=1000,group_id=985
│ └─/run/docker/netns/07a9a88abf83    nsfs[net:[4026532513]]
│                                                    nsfs        rw
├─/tmp                                tmpfs          tmpfs       rw,nosuid,nodev
├─/boot                               /dev/nvme0n1p1 vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro
├─/home                               /dev/mapper/archvg-home
│                                                    ext4        rw,relatime
├─/var/lib/docker/overlay2/a375c9d741cdc4a028b45432bbf717fcab31e455020fd9a35caa33d3d091b86d/merged
│                                     overlay        overlay     rw,relatime,lowerdir=/var/lib/docker/overlay2/l/YKROXQXIMTM5ZON4Q4IHFNJPCC:/var/lib/docker/overlay2/l/KHHAHRA7VX4L6KOXOW44IYDHPS:/var/li
├─/var/lib/docker/containers/6b2b84ce263a25e24dd50b239a14947e55e70843e9b31fe53ac830f73f8584f7/mounts/shm
│                                     shm            tmpfs       rw,nosuid,nodev,noexec,relatime,size=65536k
└─/keybase                            keybase-redirector
                                                     fuse        ro,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other

내가 취할 조치는 다음과 같습니다.

Boot from a live USB

# Step 1: Clone the current partition to a new partition
> dd if=/dev/mapper/archvg-root of=/dev/mapper/archvg2-root bs=4M

# Step 2: Extend the new partition
> cryptsetup open /dev/mapper/archvg2-root archlv

# Step 3: Enlarge the PV to use all the available remaining space of the partition
> pvresize /dev/mapper/archlv

## Review
> pvdisplay -m

# Step 4: Resize /home Logical Volume (trying to make it 100G)
> lvresize -L +90.2G /dev/CryptVolumeGroup/root

## Review
> pvdisplay -m

# Step 5: Resize encrypted volume (Trying to give it some space)
> resize2fs -p /dev/CryptVolumeGroup/root 101G

# Reboot

다음은 이 작업을 다르게 수행하는 다른 사람들의 참고 자료입니다. 더 나은 방법이 있는지 계속 조사 중입니다.

답변1

용어를 명확히 하다

먼저, rootfs, home 및 swap이 모두 열려 있습니다.논리 볼륨파티션이 아닙니다. 논리 볼륨과 파티션은 서로 다른 동물이기 때문에 이 질문을 드립니다. 하나에 대한 지침이 반드시 다른 지침에 적용되는 것은 아닙니다. 또한 볼륨 그룹은 LUKS 컨테이너 내부에 있습니다. 이것은 고급 아치 구성이지만 다행히 완료하려는 단계는 그리 어렵지 않습니다 :)

속도

  1. 모든 사용자를 로그아웃하고 Xorg 내에서가 아닌 터미널(예: CTRL+ALT+F1)에서 루트로 로그인하십시오.
  2. 다음을 사용하지 않으려면 단일 사용자 모드로 전환하십시오 /home.systemctl rescue
  3. umount /home
  4. /home논리 볼륨 및 파일 시스템 축소 :lvreduce -r -L -100G archvg/home
  5. mount /home
  6. rootfs논리 볼륨을 확장합니다 . ext4부터는 설치 시 제거하고 확대할 필요가 없습니다.lvresize -r -L +100G archvg/home
  7. 다중 사용자 모드로 다시 전환:systemctl default

Q&A

  1. 루트만 확장할까요? 아니면 집을 축소하시겠습니까? 아니면 둘다? 둘 다라면 순서가 중요합니까?둘 다 그렇습니다. 루트를 확장하려면 여유 공간이 필요하기 때문에 순서가 중요합니다. 그러므로 집을 먼저 축소해야합니다.
  2. 아치 문서를 엄격하게 따라야 합니까?아마도 그렇지 않을 것입니다. 귀하와 같은 고급 설정에서는 각 구성 요소를 이해해야 합니다. 귀하의 경우 이는 LVM2, LUKS 및 ext4입니다. 모든 설정에 고유한 프로그램을 작성할 수 있는 방법이 없기 때문입니다. Arch 문서는 튜토리얼 게시물을 제공할 수 있지만 Just Work(TM)에 대한 단계별 프로세스를 제공할 가능성은 거의 없습니다.
  3. 나중에 fstab을 업데이트해야 합니까?아니요.
  4. 모든 것이 순조롭게 진행된다면 내 데이터는 여전히 이 파티션에 저장되어야겠죠? 분명히 나는 ​​확실하게 백업했습니다.예, 귀하의 데이터는 유지되어야 합니다. 하지만 말씀하신 것처럼 Linux를 좋아하므로 먼저 백업을 만드세요!

관련 정보