LVM详解及创建过程

LVM组成

  • LVM:logic volume manager .LVM即逻辑卷管理,现在使用版本为第二版,即version2

  • 逻辑卷:pv,physical volume,即计算机上的磁盘设备,例如我的计算机上的/dev/sda3,/dev/sda5.

  • 卷组:vg,volume group。一般由多个pv组成。

  • 逻辑卷:lv,logical volume是在vg上是划分好可以直接使用分区

  • pe:physical extend,是在pv加入vg后vg把所有pv划分成的很多的小块,是LVM最小的分区单位,我的计算机上pe大小为4M,这个大小可以在创建vg时根据需要制定。

LVM原理

vg可以由多个pv在组成,如果随着时间的推移vg不够用了,就可增加一些pv到vg里面。如果vg太大,感觉用不完浪费掉了,就可以减少一些pv,并保证里面数据不会受到影响。

Vg和lv:vg可以近似看成计算机上的一个完整的硬盘,把vg划分成多个lv的过程类似于把计算机的一个硬盘划分成多个分区的过程,同样lv也像硬盘分区那样格式化后才能使用。

如果非要拿硬盘和LVM作比较的话,拿我的计算机来说,vg相当于硬盘/dev/sda,lv相当于/dev/sda1,/dev/sda2,/dev/sda3等,lv一般也要格式化后才能使用。

Lv:如果lv里的数据增多,lv的空间不够用了,vg就可以增加一些空间给lv,如果空间太多就给lv缩减空间。前面提到的pe,就是lv的基本组成单元,假如一个pe大小为4M,如果要创建一个4G的lv,vg就会分1000个pe给lv。如果后来lv的空间最多使用量不足2G,为了节省磁盘,vg就从lv取下500个pe,这样就可以节省2G空间了,并且不会损坏原有数据。

优点:调整分区十分快捷方便,随意增减分区大小而对数据几乎不产生影响.

缺点:如果碰上百年不遇的霉运,数据损坏,想要找回数据却极为困难.

dm:device mapper将底层块设备组织成一个逻辑设备模块

像扩展分区,不能直接格式化使用,必须化分成lv才能格式化使用pe默认4M,一个lv是一个文件系统

Lv设备路径:

Lv设备路径有两种表达方式

/dev/mapper/VG_NAME-LV__NAME和     /dev/VG_ANME/LV_NAME

以我的电脑举例就分别是:

/dev/mapper/testvg-testlv和/dev/testvg/testlv

testvg是我的电脑的一个vg名字,testlv是testvg上的一个lv,也是一个独立文件系统。

命令详解:

  • pv: physicalvolume物理卷
    查看pv有哪些可用命令:先敲出字母pv,再连敲两下TAB

  • pvs:查看pv简要信息

  • pvscan:scan all disks for physical volumes浏览pv简要信息和使用情况

pvdisplay:查看所有pv的详细信息。后可加设备名查看某个pv的详细信息

  • pvdisplay /dev/sda3

  • pvcreate:创建新的pv。可一次创建一个或多个

  • pvcreate /dev/sda{5,6,7}—–注意,创建pv前事先用fdisk用t命令把分区格式调为8e

  • pvmove把pv上的pe数据移动到其他pv上去
    pvmove /dev/sda5,如果有数据就自动找pv移动了,如果数据很多会移动很长时间

  • pvremove:删除物理卷
    pvremove /dev/sda3

  • pvck :check physical volume metadata
    pvck /dev/sda5

  • vg:volume group 卷组 vg按TAB查看所有vg相关命令

  • vgs 和vgscan:查看vg简要信息

  • vgdisplay:查看vg详所有细信息,后跟设备可查看某个vg信息

  • vgcreate:创建vg,-s指定PE大小
    vgcreate testvg -s 16M /dev/sda{5,6,8}

  • vgextend:扩展vg,给vg增加pv。 vgextend myvg /dev/sda5

  • vgreduce:缩减vg,从vg去掉某个pv。myvg /dev/sda5

  • vgreduce –removemissing VG_NAME 移除未识别的pv -a 移除vg内所有pv

  • vgremove:删除vg

  • lv: logical volume 逻辑卷
    lv敲TAB查看所有相关命令

  • lvs和lvscan:查看所有lv的简要信息

  • lvdisplay:查看所有或某个lv的详细信息

lvdisplay /dev/myvg/mylv

lvdisplay /dev/mapper/myvg-mylv    
  • lvcreate :创建lv
         -L 指明空间大小

         -n指定lv的名字

         -l :指定pe数量

 

例:lvcreate -L 2G -n mylv myvg   ——在myvg上创建名为mylv的lv

ls /dev/mapper    ————查看lv是否创建成功

mke2fs -t ext4 -b 1024 -L mylv /dev/myvg/mylv —–格式化lv
  • lvremove:删除lv

扩展逻辑卷:注意,要先扩展物理边界再扩展逻辑边界

lvextend -L 5G /dev/myvg/mylv 

扩展lv物理边界为5G(给lv增加pe数量),+3G表示在原来基础上增加3G

df –lh     ————查看所有磁盘设备大小,可查看lv是否变大

resize2fs /dev/myvg/mylv 扩展逻辑边界到物理边界,不需要卸载

df -lh

缩减逻辑卷lvreduce 注意,要先缩减逻辑边界再缩减物理边界

umount /dev/vg-name/lv-name  ——先卸载lv

e2fsck -f /dev/vgname/lvname    ——-强制检测lv

resize2fs /dev/vg/lv -3G     —————把lv的逻辑边界在原来的基础上减少3G

lvreduce -L -3G /dev/vg/lv   ————-把lv的物理边界减少3G,即减去一些pe块

mount   ——–重新挂载

df –lh    ———–查看lv大小是否变化
  • snapshot:快照卷

原理:

正常备份数据的时候数据不能发生变化,否则备份出来的数据的是不完整的。但对于1T的数据做备份需要半个小时以上,这期间数据很难保持不变,为了解决这个问题,快照卷应运而生。

快照是在一瞬间记录下要备份的内容的元数据,然后监控这些元数据,如果元数据即将发生变化,就把将要变化的内容备份到快照里面,这样,快照里就存储着变化前的数据的备份。

快照和原文件应该属于同一个卷组vg,通过快照访问未变化的数据时,就像通过一个硬链接直接进入原文件访问。所以创建快照卷时不用格式化。

lvcreate -s -L 512M -n mysnap -p r  /dev/myvg/mylv  ———-创建快照卷

-s指明创建的是快照卷,-L指明快照卷大小,-n指明快照卷的名字,-p权限 最后面指定是谁的快照

mount /dev/myvg/mylv-snap /mnt ——挂载快照卷

cp –a /mnt/*   ~/  ————-然后把快照卷里的东西备份出来,就可卸磨杀猪了

umount /mnt

lvremove /dev/myvg/mylv-snap删除

练习:

1、创建一个至少有两个pv组成的大小为20G的名为testvg,要求PE大小为16M

然后在卷组中创建大小为5G的逻辑卷testlv挂在至/users下

[root@yph6 ~]# pvcreate  /dev/sda{5,6,8}

[root@yph6 ~]# vgcreate testvg -s 16M /dev/sda{5,6,8}

[root@yph6 ~]# lvcreate -L 2G -n testlv testvg  ——–创建名为testlv的lv

[root@yph6 ~]# mke2fs -t ext4 -b 2048 -L testlv /dev/testvg/testlv —卷标为testlv

[root@yph6 ~]# mount /dev/testvg/testlv /users

[root@yph6 ~]# cd /users

[root@yph6 users]# ll

total 16

drwx—— 2 root root 16384 Dec 18 23:22 lost+found  ——出现lost+found说明挂载成功

2、新建用户archlinux,要求家目录为/users/archlinux,然后用archlinux用户,复制/etc/pam.d至自己家目录

[root@yph6 users]# useradd -d /users/archlinux archlinux   -d制定家目录

[root@yph6 users]# su – archlinux

[archlinux@yph6 ~]$ cp -R /etc/pam.d ~/

[archlinux@yph6 ~]$ ll

total 2

drwxr-xr-x 2 archlinux archlinux 2048 Dec 18 23:28 pam.d

[archlinux@yph6 ~]$ pwd

/users/archlinux

3、扩展testlv至7G,要求archlinux用户文件不能丢失

[root@yph6 ~]# pvcreate /dev/sda9

  Physical volume "/dev/sda9" successfully created

[root@yph6 ~]# vgextend testvg /dev/sda9

  Volume group "testvg" successfully extended

lvextend -L 7G /dev/testvg/testlv

  Size of logical volume testvg/testlv changed from 2.00 GiB (128 extents) to 7.00 GiB (448 extents).

  Logical volume testlv successfully resized

[root@yph6 ~]# resize2fs /dev/testvg/testlv  ——–lv的逻辑边界与物理边界一样大

4、收缩至3G,文件不能丢失

 [root@yph6 ~]# umount /dev/testvg/testlv

umount: /users: device is busy.

        (In some cases useful info about processes that use

         the device is found by lsof(8) or fuser(1))

[root@yph6 ~]# fuser -km /dev/testvg/testlv    ——把占用的程序杀死

/dev/testvg/testlv:   4081c  5441c  5442c

[root@yph6 ~]# umount /dev/testvg/testlv

[root@yph6 ~]# e2fsck -f /dev/testvg/testlv  —-强制检测

[root@yph6 ~]# resize2fs /dev/testvg/testlv 3G   ———-收缩逻辑边界至3G

[root@yph6 ~]# lvreduce -L 3G /dev/testvg/testlv  ———–收缩物理边界至3G

[root@yph6 ~]# mount /dev/testvg/testlv /users

[root@yph6 ~]# su – archlinux

[archlinux@yph6 ~]$ ll

total 2

drwxr-xr-x 2 archlinux archlinux 2048 Dec 18 23:28 pam.d  ——原来数据还在

5、对testlv创建快照,基于快照备份数据,验证快照功能

[root@yph6 mnt]# umount /mnt

umount: /mnt: device is busy.

[root@yph6 mnt]# fuser -km /mnt  ——–杀死占用的进程

[root@yph6 ~]# umount /mnt

 [root@yph6 ~]# lvcreate -s -L 100M -n snaplv -p r /dev/testvg/testlv —-对testlv做个快照卷

  Rounding up size to full physical extent 112.00 MiB

  Logical volume "snaplv" created.

 ~]# mount /dev/testvg/snaplv /mnt ——-快照卷不用格式化,直接挂载

mount: block device /dev/mapper/testvg-snaplv is write-protected, mounting read-only

[root@yph6 ~]# ll /mnt

total 13

drwx—— 5 archlinux archlinux  1024 Dec 19 11:30 archlinux  -快照不负众望,备份了数据

drwx—— 2 root      root      12288 Dec 19 11:10 lost+found

 

[archlinux@yph6 ~]$ touch text   ——archlinux在家目录新建个文件

[archlinux@yph6 ~]$ ll

total 2

drwxr-xr-x 2 archlinux archlinux 2048 Dec 19 11:28 pam.d

-rw-rw-r– 1 archlinux archlinux    0 Dec 19 11:46 text

[archlinux@yph6 ~]$ cd /mnt/archlinux  —–进入快照卷

[archlinux@yph6 archlinux]$ ll —-快照里面没有快照创建后新增文件

total 2

drwxr-xr-x 2 archlinux archlinux 2048 Dec 19 11:28 pam.d

 

[archlinux@yph6 archlinux]$ cp -aR /mnt/archlinux  /tmp —-把快照里的数据备份出来

[archlinux@yph6 archlinux]$ cd /tmp/archlinux

[archlinux@yph6 archlinux]$ ll

total 4

drwxr-xr-x 2 archlinux archlinux 4096 Dec 19 11:28 pam.d —-看来已经备份成功

 

[root@yph6 ~]# umount /mnt

[root@yph6 ~]# lvremove /dev/testvg/snaplv —–快照卷已经发挥了自己的人生价值,

按社会惯例我们该卸磨杀猪了。

Do you really want to remove active logical volume snaplv? [y/n]: y

  Logical volume "snaplv" successfully removed

附加一个小命令

dd命令:

if,input file ;of,outputfile

dd if=/etc/fstab of=/tmp/fstab.2 bs=1 count=100

bs,block size  字节;  count,复制次数

dd命令比较底层,比cp效率更高

用于磁盘拷贝:

dd if=/dev/sda of=/dev/sdb

备份MBR:

dd if=/dev/sda of=/tmp/mbr.bar bs=512 count=1

破坏MBR中的bootloader:

dd if=/dev/zero of=/dev/sda bs=256 count=1

转载来源

link

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270