Debian

如何在現有安裝上創建 /opt 分區而不失去數據?

  • March 18, 2015

我已經將我的 /home 從 2.7TB 縮小到 100G,我已經擴展了 /root、/usr、/tmp 和 /var,但我一直在尋找一種創建 /opt 分區的方法,已經 3 個小時了,並且可以找不到它。

設置是 /dev/sdb3(container) 上的 3TB luks 加密分區,裡面是我在 Debian Wheezy 系統中的 lvm 分區 /root、/usr、/tmp、/var 和 /home。

我使用lvreduce,lvextend和從啟動e2fsckresize2fslive cd 更改為目前分區。使用教程和網頁的說明,就像這樣

如何從 /dev/sdb3 上的未使用空間創建 /opt 分區 23G?

我試過這個:

lvcreate -L 23G -n opt Group

我對此理解不夠,無法找到正確的命令,這是輸出:

/dev/group/opt: not found: device not cleared
Aborting: Failed to wipe start of new LV

編輯#1

這是fdisk -l

Disk /dev/sdb: 3000.6 GB, 30005929282016 bytes

Device Boot       start          end           Blocks     Id system
/dev/sdb1           1            4294967295   2147483647+ ee  GPT

Disk /dev/mapper/crypt1: 3000.3 GB 3000332451840 bytes
255 heads, 63 sectors/track, 364769 cylinders, total 58600024320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/0 size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/group-root: 5716MB, 5716836352 bytes

Disk /dev/mapper/group-usr: 105,6 GB

Disk /dev/mapper/group-var: 10.5 GB

Disk /dev/mapper/group-swap 8048MB

Disk /dev/mapper/group-tmp 7914MB

Disk /dev/mapper/goup-home 107.4GB

這裡是parted /dev/sdb print devices

/dev/sdb (3001GB)
/dev/mapper/group-tmp (7915MB)
/dev/mapper/group-swap (8049MB)
/dev/mapper/group-home (107GB)
/dev/mapper/group-var (10.5GB)
/dev/mapper/group-usr (106GB)
/dev/mapper/group-root (5717MB)
/dev/mapper/crypt1 (3000GB)

這裡是parted /dev/sdb print free

Model: ATA TOSHIBA (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 5128/4096B
Partition Table: gpt

Number  start         end      Size         File system   Name   Flags
       17.4kb      1049kb    1031kb         Free space
1       1049kb      2097kb    1049kb                         bios_grub
2       2097kb      258MB     256MB          ext2
3       258MB       3001GB    3000GB
       3001GB      3001GB    466kb          Free space

編輯#2

這裡是vgdisplay

---- Volume group -----
VG Name           Group
SystemID
Format             lvm2
Metadata Areas        1
Metadata Sequence No 18
VG Access       read/write
VG Status       resizable
MAX LV                0
Cur LV                6
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size             2.73 TiB
PE Size             4.00 MiB
Total PE            715334
Alloc PE / Size     58461 / 228.36 GiB
Free PE / Size      656873 / 2.51 TiB
VG UUID             239082309572039572039

明顯的答案是執行這兩個命令

lvcreate --name opt --size 23Gi group
mkfs -t ext4 -L opt /dev/group/opt

然而,通過評論執行緒,很明顯lvcreate拋出了一條錯誤消息,

/dev/group/opt: not found: device not cleared
Aborting: Failed to wipe start of new LV

Google 上搜尋發現這是一個已知錯誤,建議的解決方法是避免使用lvcreate --zero n ....

我進行了更多調查,似乎lvcreate一旦udev重新啟動(通過系統重新啟動或使用udevadm reload)就可以正常工作。我推測該/dev/{volumegroup}節點根本沒有被創建,因此lvcreate找不到它。

(從評論執行緒中提取的答案)

引用自:https://unix.stackexchange.com/questions/190835