题目为:使用sdb这块5GB的硬盘创建四个1GB的分区,并使用这四个分区创建一个名称为test_vg的卷组,

最后从该卷组中创建出两个大小为1.2GB的逻辑卷,名称分别为test_web、test_data。

系统

[root@nfs ~]# uname -a
Linux nfs.kwx.com 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

使用到的命令是parted,具体的命令解释如下:

[root@nfs ~]# parted --help
Usage: parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]
Apply COMMANDs with PARAMETERS to DEVICE.  If no COMMAND(s) are given, run in
interactive mode.选项:-h, --help                      显示此求助信息-l, --list                      lists partition layout on all block devices-m, --machine                   displays machine parseable output-s, --script                    从不提示用户-v, --version                   显示版本-a, --align=[none|cyl|min|opt]  alignment for new partitions命令:align-check TYPE N                        check partition N for TYPE(min|opt)alignmenthelp [COMMAND]                           print general help, or help onCOMMANDmklabel,mktable LABEL-TYPE               create a new disklabel (partitiontable)mkpart PART-TYPE [FS-TYPE] START END     make a partitionname NUMBER NAME                         name partition NUMBER as NAMEprint [devices|free|list,all|NUMBER]     display the partition table,available devices, free space, all found partitions, or a particularpartitionquit                                     exit programrescue START END                         rescue a lost partition near STARTand ENDresizepart NUMBER END                    resize partition NUMBERrm NUMBER                                delete partition NUMBERselect DEVICE                            choose the device to editdisk_set FLAG STATE                      change the FLAG on selected devicedisk_toggle [FLAG]                       toggle the state of FLAG on selecteddeviceset NUMBER FLAG STATE                    change the FLAG on partition NUMBERtoggle [NUMBER [FLAG]]                   toggle the state of FLAG on partitionNUMBERunit UNIT                                set the default unit to UNITversion                                  display the version number andcopyright information of GNU PartedReport bugs to bug-parted@gnu.org
[root@nfs ~]#

可以输入parted直接进入dos模式,也可以带参数直接使用parted命令,这里我选择的是带参数,各位看看就好。。。

1.首先分区:

第一步将sdb转换为gpt模式,其实这一步对于本次练习来说没多大用。。

[root@nfs ~]# parted /dev/sdb mklabel gpt
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk
will be lost. Do you want to continue?
是/Yes/否/No? yes
信息: You may need to update /etc/fstab.[root@nfs ~]#

第二步新建四个分区:

[root@nfs ~]# parted /dev/sdb mkpart primary 0 1G
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? i
信息: You may need to update /etc/fstab.[root@nfs ~]# parted /dev/sdb mkpart primary 1G 2G
信息: You may need to update /etc/fstab.[root@nfs ~]# parted /dev/sdb mkpart primary 2G 3G
信息: You may need to update /etc/fstab.[root@nfs ~]# parted /dev/sdb mkpart primary 3G 4G
信息: You may need to update /etc/fstab.[root@nfs ~]# 

这里面前面那个警告是告诉你这gpt的格式给你拿来做MBR类的分区浪费了,确实是。。以上的命令创建了四个分区,每个分区大小为1G,我们使用

parted /dev/sdb print

查看分区后的信息

[root@nfs ~]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: Number  Start   End     Size    File system  Name     标志1      17.4kB  1000MB  1000MB               primary2      1000MB  2000MB  999MB                primary3      2000MB  3000MB  1000MB               primary4      3000MB  4000MB  1000MB               primary[root@nfs ~]# 

可以看到sdb被分为四个分区,每个分区大小为1GB。分区完毕,可以进行下一步了。。。

2.进行逻辑卷的创建

pvcreate命令可以新建物理卷,和磁盘分区是逻辑上的对应关系。当然这里也可以不进行物理卷的创建,直接在卷组上加入磁盘分区,系统会自动为每个磁盘分区创建对应的物理卷,真是省事啊。不过这里为了方便理解,还是创建一下物理卷。

[root@nfs ~]# pvcreate /dev/sdb{1,2,3,4}Physical volume "/dev/sdb1" successfully created.Physical volume "/dev/sdb2" successfully created.Physical volume "/dev/sdb3" successfully created.Physical volume "/dev/sdb4" successfully created.
[root@nfs ~]# 

这里还要讲一下物理卷的知识:物理卷是LVM的最底层概念,是LVM的逻辑存储块,物理卷与磁盘分区是逻辑的对应关系。LVM提供了命令工具可以将分区转换为物理卷,通过组合物理卷可以生成卷组,卷组就可以灵活使用啦。

3.进行卷组的创建:

vgcreate命令可以新建卷组,还是啰嗦一下概念吧:卷组是LVM逻辑概念上的磁盘设备,通过将单个物理卷或多个物理卷组合后生成卷组;卷组的大小取决于物理卷的容量及个数,相当于在LVM中屏蔽了底层的磁盘分区,意义上的大小可变的磁盘设备。

以下创建卷组:

[root@nfs ~]# vgcreate test_vg /dev/sdb{1,2,3,4}Volume group "test_vg" successfully created
[root@nfs ~]#

有了卷组后,相当于一块大小可控制的磁盘,可以随意扩容与减少,以后如果磁盘不够用或者要释放,可以随意添加或移除真实的物理磁盘,只需要对卷组中含有的物理卷进行动态修改即可调整LVM上逻辑磁盘的容量。

4.进行逻辑卷的创建:

需要两个大小都为1.2G的逻辑卷,分别命名为test_web和test_data,以下开始创建:

[root@nfs ~]# lvcreate -L 1.2G -n test_web test_vg Rounding up size to full physical extent 1.20 GiBLogical volume "test_web" created.
[root@nfs ~]# lvcreate -L 1.2G -n test_data test_vg Rounding up size to full physical extent 1.20 GiBLogical volume "test_data" created.
[root@nfs ~]# 

这里要啰嗦一下逻辑卷的概念,逻辑卷就是LVM逻辑意义上的分区,我们可以指定从卷组中提取多少容量来创建逻辑卷,最后对逻辑卷格式化并挂载使用。其实逻辑卷就相当于一块真实磁盘上的分区,我们可以分配卷组上的空闲容量给这个“分区”,可以随时扩容或缩容。

最后介绍一下LVM中的容量查看命令,即display,如pvdisplay、vgdisplay、lvdisplay,如图所示pvdisplay:

[root@nfs ~]# pvdisplay--- Physical volume ---PV Name               /dev/sda2VG Name               centosPV Size               <14.00 GiB / not usable 3.00 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              3583Free PE               0Allocated PE          3583PV UUID               4Crgfh-XVGy-oshA-0JDv-C62m-K2kE-6dfcvu--- Physical volume ---PV Name               /dev/sdb1VG Name               test_vgPV Size               <953.66 MiB / not usable <1.66 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              238Free PE               0Allocated PE          238PV UUID               YbCNig-lPfO-2Ebo-Gw7f-m7gA-cLCx-lvH6lB--- Physical volume ---PV Name               /dev/sdb2VG Name               test_vgPV Size               953.00 MiB / not usable 0   Allocatable           yes PE Size               4.00 MiBTotal PE              238Free PE               98Allocated PE          140PV UUID               vYZuoS-DgyJ-prLs-gm9f-yU5t-MXG7-tJ5xuI--- Physical volume ---PV Name               /dev/sdb3VG Name               test_vgPV Size               954.00 MiB / not usable 2.00 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              238Free PE               0Allocated PE          238PV UUID               3U5hSi-SkZy-WcAz-5rEN-TaWe-KlQT-uPC5fP--- Physical volume ---PV Name               /dev/sdb4VG Name               test_vgPV Size               954.00 MiB / not usable 2.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              238Free PE               238Allocated PE          0PV UUID               JyQMk1-iKhS-zvTa-MP42-e5cP-GWhF-O2YIhI[root@nfs ~]#

vgdisplay:

[root@nfs ~]# vgdisplay --- Volume group ---VG Name               centosSystem ID             Format                lvm2Metadata Areas        1Metadata Sequence No  3VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                1Act PV                1VG Size               <14.00 GiBPE Size               4.00 MiBTotal PE              3583Alloc PE / Size       3583 / <14.00 GiBFree  PE / Size       0 / 0   VG UUID               Z0A4je-QY8R-n0TO-fhAc-4AHx-YmqR-tkVnVm--- Volume group ---VG Name               test_vgSystem ID             Format                lvm2Metadata Areas        4Metadata Sequence No  3VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               0Max PV                0Cur PV                4Act PV                4VG Size               <3.72 GiBPE Size               4.00 MiBTotal PE              952Alloc PE / Size       616 / <2.41 GiBFree  PE / Size       336 / 1.31 GiBVG UUID               RiPMnf-qY02-GQ8X-N5QK-qcBP-AYnH-VN5pZc

lvdisplay:

[root@nfs ~]# lvdisplay --- Logical volume ---LV Path                /dev/centos/rootLV Name                rootVG Name                centosLV UUID                b3r2E1-yF5I-WzoX-7bVl-zgPK-nlUy-NyDzSrLV Write Access        read/writeLV Creation host, time localhost, 2018-12-24 04:58:23 +0800LV Status              available# open                 1LV Size                <12.50 GiBCurrent LE             3199Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:0--- Logical volume ---LV Path                /dev/centos/swapLV Name                swapVG Name                centosLV UUID                AcriMc-I2Iy-AWZj-iYBE-afSJ-E1Td-RiRshOLV Write Access        read/writeLV Creation host, time localhost, 2018-12-24 04:58:23 +0800LV Status              available# open                 2LV Size                1.50 GiBCurrent LE             384Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:1--- Logical volume ---LV Path                /dev/test_vg/test_webLV Name                test_webVG Name                test_vgLV UUID                zpJXcZ-z0yW-E0X6-JTWA-1fJY-4DY5-LXN9GSLV Write Access        read/writeLV Creation host, time nfs.kwx.com, 2018-12-25 05:52:02 +0800LV Status              available# open                 0LV Size                1.20 GiBCurrent LE             308Segments               2Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:2--- Logical volume ---LV Path                /dev/test_vg/test_dataLV Name                test_dataVG Name                test_vgLV UUID                3CEMwQ-9rST-u6Yt-xhiP-foU4-1LLK-3Pe03WLV Write Access        read/writeLV Creation host, time nfs.kwx.com, 2018-12-25 05:52:11 +0800LV Status              available# open                 0LV Size                1.20 GiBCurrent LE             308Segments               2Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:3

没错,安装系统的磁盘系统,包括swap、/都是LVM分区。

到这里,这个题目已经完成了,但是如果我需要使用该如何做呢?需要格式化、挂载并在开机时进行自动挂载。

那么先格式化吧:

[root@nfs ~]# mkfs.xfs /dev/test_vg/test_web
meta-data=/dev/test_vg/test_web  isize=512    agcount=4, agsize=78848 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=315392, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@nfs ~]# mkfs.xfs /dev/test_vg/test_data
meta-data=/dev/test_vg/test_data isize=512    agcount=4, agsize=78848 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=315392, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

这里将其格式化为xfs格式,该格式有啥好处呢,看下面这篇文章:

https://blog.csdn.net/matthew0618band/article/details/72732126

里面详细地介绍什么是xfs文件系统并介绍了新特性,待我有空了也要去拜会拜会。。。

格式化完了应该开始挂载了:

这里将其挂载在/test/data及/test/web目录下,首先创建目录

[root@nfs ~]# mkdir -p /test/{web,data}
[root@nfs ~]# ll /test/
总用量 0
drwxr-xr-x. 2 root root 6 12月 25 06:09 data
drwxr-xr-x. 2 root root 6 12月 25 06:09 web

随后挂载,有两种方式挂载,一、直接挂载,不写入/etc/fstab文件,这种方式重启后就失效了。二、写入/etc/fstab文件后使用mount命令进行挂载。建议使用后者,这里我使用的也是后者:

[root@nfs ~]# cat >> /etc/fstab <<EOF
> /dev/test_vg/test_data /test/data/ xfs defaults 0 0
> /dev/test_vg/test_web /test/web/ xfs defaults 0 0
> EOF
[root@nfs ~]# mount -a
[root@nfs ~]# df -h
文件系统                       容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root         13G  4.0G  8.6G   32% /
devtmpfs                       729M     0  729M    0% /dev
tmpfs                          746M     0  746M    0% /dev/shm
tmpfs                          746M   11M  735M    2% /run
tmpfs                          746M     0  746M    0% /sys/fs/cgroup
/dev/sda1                     1014M  166M  849M   17% /boot
tmpfs                          150M  4.0K  150M    1% /run/user/42
tmpfs                          150M   20K  150M    1% /run/user/0
/dev/sr0                        11G   11G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/test_vg-test_data  1.2G   33M  1.2G    3% /test/data
/dev/mapper/test_vg-test_web   1.2G   33M  1.2G    3% /test/web

这里看到系统已经挂载了两块盘,分别为/dev/mapper/test_vg-test_data以及/dev/mapper/test_vg-test_web,分别挂载在/test/data和/test/web下,至此,我们完成了所有工作,这两个逻辑卷已经可以使用。

记一次简单的分区加LVM划分练习相关推荐

  1. Linux存储入门:简易数据恢复方案--分区和LVM实战

    数据恢复有没有简易方案? IT工程师一般都知道如何操作和使用文件和目录.但是,对于系统如何构建出.抽象出文件和目录,一般就不熟悉了.至于更下层的概念,可能大家知道最多的就是驱动了.所以,为了规避这点, ...

  2. Linux系统分区及LVM使用(一)

    一.MBR分区 使用fdisk等分区工具,使用MBR(Master Boot Record)管理单个磁盘,这就决定了其分区表最多支持4个分区,分区类型包括主分区和扩展分区,逻辑分区可以被再次分割成多个 ...

  3. boot lvm 分区_Linux系统常规分区和LVM分区

    上一篇博文我们说了Linux文件系统概要介绍,那么怎么创建文件系统呢,让我们来实战一下吧! 磁盘分区表主要有两种格式,一种是限制较多的 MBR 分区表,一种是较新且限制较少的 GPT 分区表. 1. ...

  4. Linux分区及LVM

    操作环境:vmware虚机 一.整体流程 在使用fdisk/parted等分区工具对硬盘分区之后,是否使用LVM由用户决定 : 1)可以直接对分区后的硬盘进行格式化操作,之后挂载分区: 2)也可以先用 ...

  5. 简单的网络图片加载工具类

    简单的网络图片加载工具类 根据图片url网址解生成图片,首先解析图片的流信息,然后通过bitmapfactory工具类生成bitmap图片,设置到图片控件上即可,详情看代码 import androi ...

  6. Universal-Image-Loader解析(二)——DisplayImageOptions的详细配置与简单的图片加载...

    在使用这个框架的时候,我们必须要配置一个DisplayImageOptions对象来作为ImageLoader.getInstance().displayImage()中的参数,所以很有必要讲解这个对 ...

  7. linux基础教程 05,Linux应用基础教程-CH05磁盘分区和LVM

    Linux应用基础教程-CH05磁盘分区和LVM (49页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 第5章 磁盘分区和 LVM主讲人 ...

  8. 记一次简单线上比赛--CTF(初级)

    记一次简单线上比赛–CTF(初级) 第一题:胖虎收到了一段特殊的字符串O5SWYY3PNVSXI33FORWGCYQ=,你能帮他解出正确内容吗? 解答: 1.首先看到这一串字符串就想到base64编码 ...

  9. 记一次简单高效的吸血鬼算法

    记一次简单高效的吸血鬼算法 什么是吸血鬼数字 获取四位数的吸血鬼数字的代码实现 输出结果 代码分析 什么是吸血鬼数字 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一 ...

最新文章

  1. oracle数据导出方法,oracle多种导入导出数据方法
  2. 深圳餐厅使用iPad点餐(图)
  3. django-2 模板文件的加载
  4. 编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性。
  5. 【数据平台】基于pyhs2库Python作为client driver连接HiveServer
  6. php mysql建表_mysql建表测试
  7. Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务,集群部署,数据导出和恢复
  8. 将图形以PNG格式输出到浏览器或文件
  9. 使用软链接的方式迁移Docker
  10. java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...
  11. c++构造函数详解(转)
  12. mysql 查看所有表的引擎_MySQL查看数据库、表的占用空间大小以及某个库中所有表的引擎类型...
  13. F5入口IP依据不同的端口实现转发到不同的POOL
  14. 关于谷歌浏览器使用IEActiveX插件(杜绝抄袭和CSDN网络骗子)
  15. 射频识别技术漫谈(1)——概念、分类
  16. VideoJS 网页直播实现双击全屏
  17. 2020-04-03
  18. java生成不可修改的pdf_好記性不如爛筆頭4-JAVA生成PDF文件
  19. JAVA合并pdf,拆分pdf文档
  20. partial部分类

热门文章

  1. Redis五种数据类型及命令(一)
  2. SpringBoot整合RabbitMQ之Spring事件驱动模型
  3. ThinkPHP中查询一个时间段的数据
  4. dbz用connector入hana报错Invalid Java object for schema type INT64: class java.util.Long for field “null“
  5. Python版实现12306抢票功能,真的能帮你抢到春运回家的票吗?
  6. XCO-JS 1.0.1使用教程
  7. 崖山数据库系统YashanDB荣获“2022年度信创卓越贡献奖”
  8. 蓝牙耳机气传导哪个牌子好,试试这几款不入耳的气传导耳机
  9. 华为使用计算机投屏要打开什么,华为Mate20手机怎么投屏到电脑上呢
  10. coso2dx-lua 电脑模拟器 , 不重启游戏 直接让修改过的 lua 代码 生效