Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  apa itu lvm dalam linux

apa itu lvm dalam linux

青灯夜游
青灯夜游asal
2022-02-24 15:08:537374semak imbas

Di Linux, nama penuh LVM ialah "Pengurus Kelantangan Logik", yang bermaksud "pengurusan volum logik" dalam bahasa Cina Ia adalah mekanisme untuk menguruskan partition cakera dalam persekitaran Linux; cakera dan sekatan. Lapisan logik yang boleh digunakan untuk meningkatkan fleksibiliti pengurusan partition cakera.

apa itu lvm dalam linux

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.

Apakah itu LVM

LVM (Logical Volume Manager), iaitu pengurusan volum logik, ialah kaedah untuk menguruskan partition cakera dalam Linux persekitaran. Sebagai mekanisme, LVM ialah lapisan logik yang dibina pada cakera keras dan partition untuk meningkatkan fleksibiliti pengurusan partition cakera. Pentadbir sistem LVM boleh mengurus partition cakera dengan mudah, seperti menyambungkan beberapa partition cakera ke dalam kumpulan volum untuk membentuk kolam storan. Pentadbir boleh secara bebas mencipta volum logik pada kumpulan volum dan seterusnya mencipta sistem fail pada kumpulan volum logik. Pentadbir boleh melaraskan saiz kumpulan volum storan dengan mudah melalui LVM, dan boleh menamakan, mengurus dan memperuntukkan storan cakera mengikut kumpulan. Apabila cakera baharu ditambahkan pada sistem, pentadbir LVM tidak perlu mengalihkan fail cakera ke cakera baharu untuk menggunakan sepenuhnya ruang storan baharu, tetapi boleh terus memanjangkan sistem fail merentasi cakera.

Secara amnya, cakera fizikal atau partition diasingkan, data tidak boleh menjangkau cakera atau partition, dan saiz setiap cakera atau partition ditetapkan, jadi pelarasan semula menyusahkan. LVM boleh menyepadukan cakera fizikal atau partition asas ini, mengabstrakkannya ke dalam kumpulan sumber kapasiti, dan membahagikannya kepada volum logik untuk digunakan oleh lapisan atas Fungsi utamanya ialah ia boleh digunakan tanpa menutup atau memformat semula (secara tepat, Saiz volum logik boleh dilaraskan secara fleksibel tanpa memformat bahagian asal (hanya bahagian baharu yang diformatkan).

Proses pelaksanaan LVM adalah seperti berikut:

apa itu lvm dalam linux

Penjelasan kata nama LVM

PV(volume fizikal): Kelantangan fizikal berada di bahagian bawah sistem pengurusan volum logik dan boleh menjadi keseluruhan cakera keras fizikal atau partition pada cakera keras fizikal sebenar. Ia hanya mengetepikan kawasan khas dalam partition fizikal untuk merekodkan parameter pengurusan yang berkaitan dengan LVM.

VG(kumpulan volum): Kumpulan volum diwujudkan pada volum fizikal Sekumpulan volum mesti menyertakan sekurang-kurangnya satu volum fizikal Selepas kumpulan volum ditetapkan, volum boleh ditambah secara dinamik kepada kumpulan volum , boleh terdapat berbilang kumpulan volum dalam projek sistem pengurusan volum logik.

LV(volum logik): Jilid logik dibina pada kumpulan volum yang tidak diperuntukkan dalam kumpulan volum boleh digunakan untuk mencipta volum logik baharu boleh dikembangkan dan dikecilkan secara dinamik diwujudkan.

PE (tahap fizikal): Kawasan fizikal ialah unit storan terkecil yang tersedia untuk peruntukan dalam volum fizikal Saiz kawasan fizikal ditentukan apabila menetapkan kumpulan volum tidak boleh diubah. Kumpulan volum yang sama Saiz kawasan fizikal semua volum fizikal mesti konsisten Selepas pv baharu ditambahkan pada vg, saiz pe ditukar secara automatik kepada saiz pe yang ditakrifkan dalam vg.

LE (takat logik): Kawasan logik ialah unit storan terkecil yang tersedia untuk peruntukan dalam volum logik Saiz kawasan logik bergantung pada saiz kawasan fizikal dalam kumpulan volum di mana volum logik terletak. Disebabkan oleh keterbatasan kernel, volum logik (Volume Logik) hanya boleh mengandungi sehingga 65536 PE (Jawatan Fizikal), jadi saiz PE menentukan kapasiti maksimum volum logik A 4 MB (lalai) PE menentukan kapasiti maksimum daripada satu PE Kapasiti maksimum volum logik ialah 256 GB Jika anda ingin menggunakan volum logik lebih besar daripada 256G, anda perlu menentukan PE yang lebih besar apabila membuat kumpulan volum. Dalam Red Hat Enterprise Linux AS 4 saiz PE berjulat dari 8 KB hingga 16GB dan mesti sentiasa gandaan 2.

Mod penulisan LVM

LVM mempunyai dua mod penulisan: mod linear dan mod berjalur.

  • Mod linear bermaksud menulis ke peranti lain selepas menulis satu peranti

  • Mod jalur agak serupa dengan RAID0, iaitu, data Tersebar menulis kepada setiap peranti ahli LVM.

    Oleh kerana data dalam mod jalur tidak selamat dan LVM tidak menekankan prestasi baca dan tulis, LVM lalai kepada mod linear, supaya walaupun satu peranti rosak, data pada peranti lain masih ada.

Cara LVM berfungsi

LVM mengekalkan metadata di kepala setiap volum fizikal Metadata mengandungi maklumat daripada keseluruhan VG (kumpulan volum: kumpulan volum), termasuk konfigurasi susun atur setiap VG, bilangan PV (volume fizikal: volum fizikal), bilangan LV (volume logik: volum logik) dan setiap perhubungan Pemetaan daripada PE (lanjutan fizikal: unit lanjutan fizikal) kepada LE (lanjutan logik: unit lanjutan fizikal). Maklumat dalam pengepala setiap PV dalam VG yang sama adalah sama, yang memudahkan pemulihan data sekiranya berlaku kegagalan.

LVM menyediakan lapisan LV untuk sistem fail atas, menyembunyikan butiran operasi. Untuk sistem fail, operasi LV tidak berbeza daripada operasi asal partition. Apabila menulis ke LV, LVM mencari LE yang sepadan dan menulis data ke PE yang sepadan melalui jadual pemetaan dalam pengepala PV. Ciri terbesar LVM ialah ia boleh mengurus cakera secara dinamik. Kerana saiz volum logik boleh dilaraskan secara dinamik tanpa kehilangan data sedia ada. Jika kita menambah cakera keras baharu, ia tidak akan mengubah volum logik atas sedia ada. Kuncinya adalah untuk mewujudkan hubungan pemetaan antara PE dan LE Peraturan pemetaan yang berbeza menentukan model storan LVM yang berbeza. LVM menyokong jalur dan cermin berbilang PV.

Kebaikan dan keburukan LVM

Kelebihan:

  • Fail sistem Boleh menjangkau berbilang cakera, jadi saiz sistem fail tidak dihadkan oleh cakera fizikal.

  • Anda boleh mengembangkan saiz sistem fail secara dinamik semasa sistem sedang berjalan.

  • Anda boleh menambah cakera baharu pada kumpulan storan LVM.

  • Boleh melebihkan data penting kepada berbilang cakera fizikal dengan cara pencerminan.

  • Anda boleh mengeksport keseluruhan kumpulan volum ke mesin lain dengan mudah.

Kelemahan:

  • Arahan reducevg mesti digunakan apabila mengeluarkan cakera daripada kumpulan volum (arahan ini Memerlukan keistimewaan akar dan tidak dibenarkan dalam kumpulan volum syot kilat).

  • Apabila satu cakera dalam kumpulan volum menjadi rosak, keseluruhan kumpulan volum terjejas.

  • Disebabkan penambahan operasi tambahan, prestasi storan terjejas.

Kaedah untuk mencipta PV/VG/LV

1 jenis sistem ditetapkan kepada Linux LVM, dan ID sistemnya ialah 8e Gunakan perintah t dalam alat fdisk untuk menetapkan

[root@localhost ~]# fdisk /dev/sdb 
...
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (20973568-62914559, default 20973568): 
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-62914559, default 62914559): +5G
...
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e  # 指定system id为8e
Changed type of partition 'Linux' to 'Linux LVM'
...
Command (m for help): p
...
/dev/sdb1            2048    20973567    10485760   8e  Linux LVM
/dev/sdb2        20973568    31459327     5242880   8e  Linux LVM
Command (m for help): w
...

2. Mulakan setiap cakera fizikal atau partition menjadi satu. PV (volume fizikal , volum fizikal)

Arahan yang boleh digunakan pada peringkat ini ialah pvcreate, pvremove, pvscan, pvdisplay (pvs)

1) pvcreate: Buat fizikal volum

Penggunaan: pvcreate [option] DEVICE

Pilihan:

  • -f: Paksa penciptaan volum logik tanpa pengesahan pengguna

  • -u: UUID peranti yang ditentukan

  • -y: Jawab ya kepada semua soalan

Contoh pvcreate /dev/sdb1 /dev/sdb2

2) pvscan: Imbas semua volum fizikal pada sistem semasa

Penggunaan: pvscan [option]

Pilihan:

  • -e: Paparkan hanya volum fizikal kepunyaan kumpulan volum output

  • -n: Hanya paparkan volum fizikal yang bukan milik mana-mana kumpulan volum

  • -u: Paparkan UUID

3) pvdisplay: Paparkan atribut volum fizikal

Penggunaan: pvdisplay [PV_DEVICE]

4) pvremove: Padamkan maklumat volum fizikal dan gunakan Ia tidak lagi dianggap volum fizikal

Penggunaan: pvremove [option] PV_DEVICE

Pilihan:

  • -f: Padam paksa

  • -y: Jawab ya untuk semua soalan

Contohpvremove /dev/sdb1

5) Contoh penciptaan dan pemadaman PV

[root@localhost ~]# pvcreate /dev/sdb{1,2}  # 将两个分区初始化为物理卷
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvscan 
  PV /dev/sdb2                      lvm2 [5.00 GiB]
  PV /dev/sdb1                      lvm2 [10.00 GiB]
  Total: 2 [15.00 GiB] / in use: 0 [0   ] / in no VG: 2 [15.00 GiB]
[root@localhost ~]# pvdisplay /dev/sdb1   # 显示物理卷sdb1的详细信息
  "/dev/sdb1" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   # 由于PE是在VG阶段才划分的,所以此处看到的都是0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               GrP9Gi-ubau-UAcb-za3B-vSc3-er2Q-MVt9OO
   
[root@localhost ~]# pvremove /dev/sdb2   # 删除sdb2的物理卷信息
  Labels on physical volume "/dev/sdb2" successfully wiped.
[root@localhost ~]# pvscan     # 可以看到PV列表中已无sdb2
  PV /dev/sdb1                      lvm2 [10.00 GiB]
  Total: 1 [10.00 GiB] / in use: 0 [0   ] / in no VG: 1 [10.00 GiB]
[root@localhost ~]# pvcreate /dev/sdb2 
  Physical volume "/dev/sdb2" successfully created.

3.

Kumpulan volum menyepadukan berbilang volum fizikal (melindungi butiran asas) dan membahagikan PE (lanjutan fizikal)

PE ialah unit storan terkecil dalam volum fizikal, agak serupa Untuk blok dalam sistem fail, saiz PE boleh ditentukan, dan lalai ialah 4M. Arahan yang digunakan pada peringkat ini termasuk vgcreate, vgscan, vgdisplay, vgextend, vgreduce

1) vgcreate: Cipta kumpulan volum

Penggunaan: vgcreate [option] VG_NAME PV_DEVICE

Pilihan:

  • -s: Saiz PE bagi volum fizikal dalam kumpulan volum, lalai ialah 4M

  • -l: Saiz yang dibenarkan untuk dibuat pada kumpulan volum Bilangan maksimum volum logik

  • -p: Bilangan maksimum volum fizikal yang dibenarkan untuk ditambah pada tahap volum

Contoh vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2

2) vgscan: Cari kumpulan volum LVM sedia ada dalam sistem dan paparkan senarai kumpulan volum ditemui

3) vgdisplay: Paparkan atribut kumpulan volum

Penggunaan: vgdisplay [option] [VG_NAME]

Pilihan:

  • -A: Hanya paparkan maklumat tentang kumpulan volum aktif

  • -s: Gunakan format pendek untuk mengeluarkan maklumat

4) vgextend: Kembangkan kumpulan volum LVM secara dinamik, yang meningkatkan kapasiti kumpulan volum dengan menambahkan volum fizikal pada kumpulan volum

Penggunaan: vgextend VG_NAME PV_DEVICE

  例 vgextend myvg /dev/sdb3

5)vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量,不能删除LVM卷组中剩余的最后一个物理卷

 用法:vgreduce VG_NAME PV_DEVICE

6)vgremove:删除卷组,其上的逻辑卷必须处于离线状态

  用法:vgremove [-f] VG_NAME

  •   -f:强制删除

7)vgchange:常用来设置卷组的活动状态

  用法:vgchange -a n/y VG_NAME

  •   -a n为休眠状态,休眠之前要先确保其上的逻辑卷都离线;

  •   -a y为活动状态

8)vg创建例子

[root@localhost ~]# vgcreate -s 8M myvg /dev/sdb{1,2}
  Volume group "myvg" successfully created
[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "myvg" using metadata type lvm2
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               14.98 GiB
  PE Size               8.00 MiB
  Total PE              1918
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1918 / 14.98 GiB
  VG UUID               aM3RND-aUbQ-7RjC-dCci-JiS4-Oj2Z-wv9poA

4、在卷组上创建LV(logical volume,逻辑卷)

为了便于管理,逻辑卷对应的设备文件保存在卷组目录下,为/dev/VG_NAME/LV_NAME。LV中可以分配的最小存储单元称为LE(logical extend),在同一个卷组中,LE的大小和PE是一样的,且一一对应。这一阶段用到的命令有lvcreate、lvscan、lvdisplay、lvextend、lvreduce、lvresize

1)lvcreate:创建逻辑卷或快照

  用法:lvcreate [选项] [参数]

  选项:

  •       -L:指定大小

  •       -l:指定大小(LE数)

  •       -n:指定名称

  •       -s:创建快照

  •       -p r:设置为只读(该选项一般用于创建快照中)

  注:使用该命令创建逻辑卷时当然必须指明卷组,创建快照时必须指明针对哪个逻辑卷         

  例 lvcreate -L 500M -n mylv myvg

2)lvscan:扫描当前系统中的所有逻辑卷,及其对应的设备文件

3)lvdisplay:显示逻辑卷属性

  用法:lvdisplay [/dev/VG_NAME/LV_NAME]

4)lvextend:可在线扩展逻辑卷空间

  用法:lvextend -L/-l 扩展的大小 /dev/VG_NAME/LV_NAME  

  选项:

  •       -L:指定扩展(后)的大小。例如,-L +800M表示扩大800M,而-L 800M表示扩大至800M

  •       -l:指定扩展(后)的大小(LE数)

  例 lvextend -L 200M /dev/myvg/mylv

5)lvreduce:缩减逻辑卷空间,一般离线使用

 用法:lvexreduce -L/-l 缩减的大小 /dev/VG_NAME/LV_NAME  

  选项:

  •       -L:指定缩减(后)的大小

  •       -l:指定缩减(后)的大小(LE数)

  例 lvreduce -L 200M /dev/myvg/mylv

6)lvremove:删除逻辑卷,需要处于离线(卸载)状态

  用法:lvremove [-f] /dev/VG_NAME/LV_NAME

  •   -f:强制删除

7)lv创建例子

[root@localhost ~]# lvcreate -L 2G -n mylv myvg  
  Logical volume "mylv" created.
[root@localhost ~]# lvscan 
  ACTIVE            '/dev/myvg/mylv' [2.00 GiB] inherit
[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                2lfCLR-UEhm-HMiT-ZJil-3EJm-n2H3-ONLaz1
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-07-05 13:42:44 +0800
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

5、格式化逻辑卷并挂载

[root@localhost ~]# mke2fs -t ext4 /dev/myvg/mylv
...
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
...
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount
mount mountpoint
[root@localhost ~]# mount /dev/myvg/mylv /data
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 1.5G 49G 3% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/myvg-mylv 2.0G 6.0M 1.8G 1% /data

相关推荐:《Linux视频教程

Atas ialah kandungan terperinci apa itu lvm dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn