2023年2月3日 星期五

在ubuntu上建構LVM

 使用情境

  1. ubuntu 22.04 (系統在sdb上)
  2. 已經有固有系統,後續有幾顆空白小硬碟要合併成一個LVM磁區

LVM原則

  • 硬碟的區域組成實體volume,稱呼為physical volume (PV)
  • 幾個PV要拚成一個大的虛擬硬碟,稱為volume group(VG)
  • 虛擬硬碟VG上面可以製作成幾個我們需要的分割區,稱呼為logical volume(LV)

因此步驟就是 :
  1. 建構PV
  2. 把幾個PV拚成一個VG
  3. 在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/




沒有留言:

張貼留言

iscsi 連線問題筆記

如果要進行umount但是出現target buzy sudo fuser -km 掛載點 sudo umount 掛載點 iSCSI重啟 sudo open-iscsi restart  掛載lun iscsiadm -m discovery -t sendtargets -p...