使用Linux lvm

使用Linux lvm

概览

这次是要给服务器的安装一个MySQL数据库系统,需要一个比较大的空间,而且要能后期灵活增加空间,所以把已有的硬盘做成lvm是最好的选择。逻辑卷是一个很好用的磁盘管理工具,就像它的名字,你操作的是逻辑卷而不是直接使用物理磁盘。我们可以方便的调整逻辑卷的大小而不会损坏数据,随时把新磁盘加入逻辑卷管理来拓展存储空间。lvm的结构如下图所示


image

如图所示,磁盘和磁盘的分区可以加入一个物理卷(PV),一个或者多个物理卷组成一个卷组(VG),在卷组的基础上可以创建逻辑卷(LV)。
本例中有12块4T大小的硬盘,我们把这12块硬盘都加入lvm,切分出其中的一部分创建lv并挂在到/app。大致过程是:

  • 给每个硬盘分一个区
  • 把所有的分区创建为物理卷
  • 把物理卷加入卷组
  • 在卷组的基础上创建逻辑卷
  • 格式化逻辑卷
  • 挂载逻辑卷

操作过程

安装parted

使用parted给硬盘分区,因为是大于2T的硬盘,所以我们采用parted划分硬盘而不是传统的fdisk。大部分Linux系统会有parted的安装,如果没有请使用各自的方法安装,此处仅示范centos和Ubuntu的安装

$ sudo apt install parted

$ sudo yum install parted

给硬盘分区

我们这次把整块硬盘作一个分区全部加入一个物理卷中(或许物理磁盘不分区也能直接加入物理卷,但我没有试验成功,所以这次我把整个磁盘分到一个分区中),使用parted进行分区

$ sudo parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)  

查看已有的分区信息

(parted) print                                                            
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  4001GB  4001GB               sdb1

这是一个分好的硬盘分区信息一共4T,分区表类型是的gpt,把所有空间分到一个分区里了。如果是一个新硬盘需要创建分区表和分区:

(parted) mkpart
Partition name?  []? sdb1                                                   
File system type?  [ext2]? xfs                                           
Start? 0                                                                  
End? 4001G
Warning: The resulting partition is not properly aligned for best performance.  
Ignore/Cancel? i  
(parted) quit

退出保存分区信息,我们这里应为业务需要把整个盘放到一个分区里了,当然你也可以分多个区,计算好开始和结束的区间就行。后面11块硬盘相同的操作方式做好分区准备,盘符大致:sdb1, sdc1,sdd1...sdm1

把分区加入物理卷

把12个分区都加入物理卷

$ sudo pvcreate /dev/sdb1
$ sudo pvcreate /dev/sdc1
...
$ sudo pvcreate /dev/sdm1

创建完物理卷后,运行pvdisplay查看一下建好的物理卷,执行完pvdisplay后显示的结果大致如下,我只显示了一个pv的。

$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <3.64 TiB / not usable 3.80 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              953861
  Free PE               0
  Allocated PE          953861
  PV UUID               70p52P-TafB-YkwL-YG8P-Bo0x-3C0i-coKJMu

当然如果有问题,也可以使用 pvremove删除物理卷

$ sudo pvremove /dev/sdb1

加入卷组

把建好的12个物理卷加入一个卷组,这是我们的业务需求,把12个物理卷加到一个卷组中,你也可以根据自己的需求灵活配置。下列命令就是把12个物理卷加入一个名称为vgapp的卷组里。

$ sudo vgcreate vgapp /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdm1

使用vgdisplay查看已建的卷组

$ sudo vgdisplay
  --- Volume group ---
  VG Name               vgapp
  System ID             
  Format                lvm2
  Metadata Areas        12
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                12
  Act PV                12
  VG Size               43.66 TiB
  PE Size               4.00 MiB
  Total PE              11446332
  Alloc PE / Size       0 / 0
  Free  PE / Size       6203452 / 23.66 TiB
  VG UUID               Kc9ybM-8ZTw-OOPY-opX5-Azgc-dbgB-HMCeIs

从输出中,我们可以看见卷组的使用量/总量。只要在这个卷组中还有可用空间,我们就可以随意创建逻辑卷。
如果卷组分配不合理也可以使用vgremove删除卷组重新建

$ sudo vgremove vgapp

创建逻辑卷

上一步我们已经建好了一个名称为vgapp的卷组,现在我们就可以在这个卷则上建一个逻辑卷了。我们需要用到大概20T空间在名为vgapp的卷组上建立一个名为lvapp的逻辑卷.

sudo lvcreate -L 20T -n lvapp  vgapp

这里的是创建了一个默认的Linear逻辑卷,其实还支持其他的方式建立逻辑卷,比如条带化卷(类似raid0),镜像卷(类似raid1)或者它们的集中组合,这些我以后再研究。创建完成后使用lvdisplay查看刚建好的逻辑卷

$ sudo lvdisplay

结果如下

$ sudo lvdisplay
  --- Logical volume ---
  LV Path                /dev/vgapp/lvapp
  LV Name                lvapp
  VG Name                vgapp
  LV UUID                1CpWwd-b4Wf-fdqP-gMPO-1Jb8-0w0h-idvXBo
  LV Write Access        read/write
  LV Creation host, time xjwlmq-16f-c07-sev-hw2288v3-02u10, 2019-02-28 13:25:34 +0800
  LV Status              available
  # open                 1
  LV Size                20.00 TiB
  Current LE             5242880
  Segments               6
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

使用逻辑卷

逻辑卷建好了就可以把它格式化并挂在到系统的某个目录开始使用了

$ sudo mkfs.xfs /dev/vgapp/lvapp
$ sudo mkdir /app
$ sudo mount /dev/vgapp/lvapp /app/

挂载完成后就可以看看我们的劳动成果

$ sudo df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/sda2                1.0T  1.2G 1023G   1% /
devtmpfs                  63G     0   63G   0% /dev
tmpfs                     63G     0   63G   0% /dev/shm
tmpfs                     63G  553M   63G   1% /run
tmpfs                     63G     0   63G   0% /sys/fs/cgroup
/dev/sda1                509M  128M  381M  26% /boot
/dev/mapper/vgapp-lvapp   20T   33M   20T   1% /app
tmpfs                     13G     0   13G   0% /run/user/1001

其中20T那个/app目录挂载的就是我们刚建的逻辑卷。最后别忘记把这放到/etc/fstab中实现开机挂载

$ sudo cat /etc/fatab

#
# /etc/fstab
# Created by anaconda on Sun Oct 14 10:36:44 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=a7f90806-f11c-41ca-8210-2a758d38aed8 /                       xfs     defaults        0 0
UUID=ca13fb4a-64a6-4a2b-9847-c309145ae3b4 /boot                   xfs     defaults        0 0
/dev/vgapp/lvapp              /app            xfs     defaults    1 2

后记

lvm的功能强大的很,以后可以多研究一下,除了支持类似raid的逻辑卷外,还有快照等功能。

参考文档

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

推荐阅读更多精彩内容