使用情境
- ubuntu 22.04 (系統在sdb上)
- 已經有固有系統,後續有幾顆空白小硬碟要合併成一個LVM磁區
LVM原則
- 硬碟的區域組成實體volume,稱呼為physical volume (PV)
- 幾個PV要拚成一個大的虛擬硬碟,稱為volume group(VG)
- 虛擬硬碟VG上面可以製作成幾個我們需要的分割區,稱呼為logical volume(LV)
因此步驟就是 :
- 建構PV
- 把幾個PV拚成一個VG
- 在VG上面切割LV
建構步驟
確定硬碟狀況,並且將硬碟切成physical volume: 這邊建議使用parted替代fdisk。
sudo parted -l #列出目前有的分割區和硬碟
sudo parted /dev/sdc #假設目前需要處理的是sdc這顆硬碟
GNU Parted 3.4
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
開始進行切割
(parted) mkpart #目前切割的硬碟大小是1T
(parted) mkpart
Partition name? []? 1
File system type? [ext2]? ext4
Start? 0
End? 1000G
Warning: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
Ignore/Cancel? Ignore
透過print確認狀態
(parted) print
Model: ATA WDC WD10JFCX-68N (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1000GB 1000GB ext4 1
打開LVM系統並且確認狀態
(parted) set 1 lvm on
(parted) print
Model: ATA WDC WD10JFCX-68N (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 1000GB 1000GB 1 lvm
(parted) q
製作PV
sudo pvcreate /dev/sdc1
如果後面有幾顆硬碟就依照上面的狀況,全部都弄成PV。
製作volume group (VG)
vgcreate <vg名稱> 所需要的硬碟,以下就用vg-registry命名該磁區:
sudo vgcreate vg-registry /dev/sda1 /dev/sdc1 /dev/sdd1
建構成功以後就用vgdisplay稍微看一下:
sudo vgdisplay
--- Volume group ---
VG Name vg-registry
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 2.27 TiB
PE Size 4.00 MiB
Total PE 596168
Alloc PE / Size 0 / 0
Free PE / Size 596168 / 2.27 TiB
VG UUID uGJlxr-tTvw-uKRL-5ueq-Blo4-vMLy-ZSSEjq
創建logical volume
lvcreate -n <磁區名稱> -L <磁區大小> <VG名稱>
這邊假設磁區名稱就是registry,大小就是全部都下去了(2.27T):
sudo lvcreate -n registry -L 2.27T vg-registry
Rounding up size to full physical extent 2.27 TiB
Logical volume "registry" created.
查看一下狀況:
# sudo lvdisplay
--- Logical volume ---
LV Path /dev/vg-registry/registry
LV Name registry
VG Name vg-registry
LV UUID 1akCeT-7IBv-hdn2-jtHV-5R1G-cq3v-soLVP9
LV Write Access read/write
LV Creation host, time cri-registry, 2023-02-03 12:04:37 +0800
LV Status available
# open 0
LV Size 2.27 TiB
Current LE 595067
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
可以看到目前已經被做成一個虛擬的磁碟機,放在 /dev/vg-registry/registry 。
把LV格式化
sudo mkfs.ext4 /dev/vg-registry/registry
修改fstab進行掛載
上面的lvdisplay有很佛心顯示UUID,所以就直接把這個UUID列到fstab中,但那個UUID似乎是虛擬硬碟的UUID,如果直接掛載會造成系統出錯。所以必須要重新查詢分割區的掛載狀況,就可以直接掛載了。
sudo blkid /dev/vg-registry/registry
/dev/vg-registry/registry: UUID="75c42d47-039a-464b-9fb4-b8711fd15541" BLOCK_SIZE="4096" TYPE="ext4"
假設要掛在/registry這位置,就把/etc/fstab在最底下一行加上:
UUID=75c42d47-039a-464b-9fb4-b8711fd15541 /registry ext4 errors=remount-ro 0 1
重新開機後確認有沒有乖乖在做動。
referecnes:
- https://liedward.com/parted-mkpart/
沒有留言:
張貼留言