有同仁看了上文《Linux添加硬盘扩充已有分区存储空间方式》一文后,提出疑问,现在很多云服务器本来没有逻辑卷,添加数据盘后需要自行添加,如何处理?

此文将以某云服务器为例,详细进行解说。

总体步骤

  • 磁盘初始化分区

  • 创建物理卷

  • 创建卷组

  • 创建逻辑卷

  • 通知文件系统生效

磁盘初始化分区

 [root@VM_15_115_centos ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 50G .6G 45G % /
devtmpfs .8G .8G % /dev
tmpfs .8G 24K .8G % /dev/shm
tmpfs .8G 464K .8G % /run
tmpfs .8G .8G % /sys/fs/cgroup
tmpfs .6G .6G % /run/user/
[root@VM_15_115_centos ~]# fdisk -l 磁盘 /dev/vda:53.7 GB, 字节, 个扇区
Units = 扇区 of * = bytes
扇区大小(逻辑/物理): 字节 / 字节
I/O 大小(最小/最佳): 字节 / 字节
磁盘标签类型:dos
磁盘标识符:0x0009ac89 设备 Boot Start End Blocks Id System
/dev/vda1 * Linux 磁盘 /dev/vdb:536.9 GB, 字节, 个扇区
Units = 扇区 of * = bytes
扇区大小(逻辑/物理): 字节 / 字节
I/O 大小(最小/最佳): 字节 / 字节 [root@VM_15_115_centos ~]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.)。 更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。 Device does not contain a recognized partition table
使用磁盘标识符 0xae10029f 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only) 命令(输入 m 获取帮助):g
Building a new GPT disklabel (GUID: AB878B71--455A-9C62-3EBA92ECA888) 命令(输入 m 获取帮助):p 磁盘 /dev/vdb:536.9 GB, 字节, 个扇区
Units = 扇区 of * = bytes
扇区大小(逻辑/物理): 字节 / 字节
I/O 大小(最小/最佳): 字节 / 字节
磁盘标签类型:gpt
Disk identifier: AB878B71--455A-9C62-3EBA92ECA888 # Start End Size Type Name 命令(输入 m 获取帮助):m
命令操作
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
v verify the partition table
w write table to disk and exit
x extra functionality (experts only) 命令(输入 m 获取帮助):n
分区号 (-,默认 ):
第一个扇区 (-,默认 ):
Last sector, +sectors or +size{K,M,G,T,P} (-,默认 ):
已创建分区 命令(输入 m 获取帮助):p 磁盘 /dev/vdb:536.9 GB, 字节, 个扇区
Units = 扇区 of * = bytes
扇区大小(逻辑/物理): 字节 / 字节
I/O 大小(最小/最佳): 字节 / 字节
磁盘标签类型:gpt
Disk identifier: AB878B71--455A-9C62-3EBA92ECA888 # Start End Size Type Name
500G Linux filesyste 命令(输入 m 获取帮助):w
The partition table has been altered! Calling ioctl() to re-read partition table.
正在同步磁盘。

执行结果

 [root@VM_15_115_centos ~]# fdisk -l

 磁盘 /dev/vda:53.7 GB,  字节, 个扇区
Units = 扇区 of * = bytes
扇区大小(逻辑/物理): 字节 / 字节
I/O 大小(最小/最佳): 字节 / 字节
磁盘标签类型:dos
磁盘标识符:0x0009ac89 设备 Boot Start End Blocks Id System
/dev/vda1 * Linux
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. 磁盘 /dev/vdb:536.9 GB, 字节, 个扇区
Units = 扇区 of * = bytes
扇区大小(逻辑/物理): 字节 / 字节
I/O 大小(最小/最佳): 字节 / 字节
磁盘标签类型:gpt
Disk identifier: AB878B71--455A-9C62-3EBA92ECA888 # Start End Size Type Name
500G Linux filesyste

第二块磁盘已经初始化完毕,空间500G

创建物理卷

 [root@VM_15_115_centos ~]# pvdisplay
[root@VM_15_115_centos ~]# pvcreate /dev/sdb1
Device /dev/sdb1 not found.
[root@VM_15_115_centos ~]# pvcreate /dev/vdb1
Physical volume "/dev/vdb1" successfully created.
[root@VM_15_115_centos ~]# pvdisplay
"/dev/vdb1" is a new physical volume of "<500.00 GiB"
--- NEW Physical volume ---
PV Name /dev/vdb1
VG Name
PV Size <500.00 GiB
Allocatable NO
PE Size
Total PE
Free PE
Allocated PE
PV UUID gV2Rlx-sFHV-9nJT-biZn-iXYf-rl1H-442MZF

注意:设备路径,有些设备是 /dev/sdb 有些是 /dev/vdb ,需要具体根据 fdisk -l 的结果确定。

创建卷组

 [root@VM_15_115_centos ~]# vgdisplay
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]# vgcreate centos /dev/vdb1
Volume group "centos" successfully created

创建结果

 [root@VM_15_115_centos ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas
Metadata Sequence No
VG Access read/write
VG Status resizable
MAX LV
Cur LV
Open LV
Max PV
Cur PV
Act PV
VG Size <500.00 GiB
PE Size 4.00 MiB
Total PE
Alloc PE / Size /
Free PE / Size / <500.00 GiB
VG UUID ndS3xn-MIrv-cn2Y-TTxb-pWYi-EBhB-f9wCp2

创建逻辑卷

 [root@VM_15_115_centos ~]# lvdisplay
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]# lvcreate -l +%FREE centos
Logical volume "lvol0" created.

注意:centos为上文创建的卷组的名字

此处将该卷组全部剩余空间划入本逻辑卷

创建结果:

 [root@VM_15_115_centos ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/lvol0
LV Name lvol0
VG Name centos
LV UUID ulWla4-C4SA-WE2e-HnjW-kHbB-TVSp-hstVYQ
LV Write Access read/write
LV Creation host, time VM_15_115_centos, -- :: +
LV Status available
# open
LV Size <500.00 GiB
Current LE
Segments
Allocation inherit
Read ahead sectors auto
- currently set to
Block device : [root@VM_15_115_centos ~]#

通知文件系统生效

新卷则建议采用 xfs 类型,当然,采用 ext4 亦可。

但需要注意的是,xfs文件系统使用 xfs_growfs,ext文件系统使用 resize2fs;xfs文件系统只支持增大不支持缩小。

先格式化逻辑卷磁盘分区,卷的名字从 lvdisplay 中查找

 [root@VM_15_115_centos ~]# mkfs.xfs /dev/centos/lvol0
meta-data=/dev/centos/lvol0 isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt=, sparse=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal log bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents=
[root@VM_15_115_centos ~]#

然后修改文件系统挂载表文件/etc/fstab

 [root@VM_15_115_centos ~]# cat /etc/fstab
UUID=4b499d76-769a-40a0-93dc-4a31a59add28 / ext4 noatime,acl,user_xattr
proc /proc proc defaults
sysfs /sys sysfs noauto
debugfs /sys/kernel/debug debugfs noauto
devpts /dev/pts devpts mode=,gid=
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]# vi /etc/fstab
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]# cat /etc/fstab
UUID=4b499d76-769a-40a0-93dc-4a31a59add28 / ext4 noatime,acl,user_xattr
proc /proc proc defaults
sysfs /sys sysfs noauto
debugfs /sys/kernel/debug debugfs noauto
devpts /dev/pts devpts mode=,gid=
/dev/centos/lvol0 /data xfs defaults
[root@VM_15_115_centos ~]#

再挂载,然后查看挂载结果

 [root@VM_15_115_centos ~]# mount -a
[root@VM_15_115_centos ~]#
[root@VM_15_115_centos ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 50G .6G 45G % /
devtmpfs .8G .8G % /dev
tmpfs .8G 24K .8G % /dev/shm
tmpfs .8G 496K .8G % /run
tmpfs .8G .8G % /sys/fs/cgroup
tmpfs .6G .6G % /run/user/
/dev/mapper/centos-lvol0 500G 33M 500G % /data
[root@VM_15_115_centos ~]#

至此,操作成功。

Linux添加硬盘创建新的逻辑卷方式的更多相关文章

  1. Linux添加、创建新用户

    给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /bin/bash -d /h ...

  2. Linux下的磁盘分区和逻辑卷

    一.硬盘接口类型 硬盘的接口主要有IDE.SATA.SCSI .SAS和光纤通道等五种类型.其中IDE和SATA接口硬盘多用于家用产品中,也有部分应用于服务器,SATA是一种新生的硬盘接口类型,已经取 ...

  3. Linux下SVN创建新的项目

    Linux下SVN创建新的项目   Linux环境下的SVN创建新的项目 一.前置条件: 1)有安装了linux系统的服务器,123.*.*.29 2)服务器上安装了svn,本人服务器的svn的数据安 ...

  4. Linux下如何创建新用户

    Linux下如何创建新用户 Linux系统中,只有root用户有创建其他用户的权限.创建过程如下:   useradd -d /home/newuser newuser(设定了该用户的主目录和用户名) ...

  5. Linux 添加硬盘

    一.简介 本文介绍为Linux 添加硬盘的基本方法,同时适用于为虚拟机添加硬盘的情况.   二.添加小于2T的硬盘 1)分区 fdisk /dev/hda 2)建立文件系统 3)设置开机自动挂载磁盘 ...

  6. Linux 添加硬盘并分区

    Linux 添加硬盘并分区 *********************** 1.fdisk /dev/sdb 2.m   //帮助 3.p   // p 列出分区表 4.q   //不保存退出: 5. ...

  7. 在学习linux磁盘管理期间学习的逻辑卷管理笔记

    LVM(逻辑分区)的创建顺序:物理分区-物理卷-卷组-逻辑卷-挂载. 物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备. 卷 ...

  8. Linux系统磁盘管理(lvm逻辑卷管理)

    linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间:普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文 ...

  9. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

随机推荐

  1. 使用Flume-Taildir和rocketmq-flume与RocketMQ的结合

    一.Fume-Taidir Flume1.7.0加入了taildirSource作为agent的source.可以说是 Spooling Directory Source + Exec Source ...

  2. C# 动态创建EXE

    1.创建项目SaveExe或者修改代码中SaveExe名字为自己的项目 2.添加按钮调用CreateCodeEXE,即可实现编译生成一个新的exe即 复制了自身的exe生成一个新的exe(目的就是新生 ...

  3. 深入理解JVM虚拟机

    JVM平台上还可以运行其他语言,运行的是Class字节码.只要能翻译成Class的语言就OK了.挺强大的. JVM厂商很多 垃圾收集器.收集算法 JVM检测工具 关于类的加载: Java代码中,类型( ...

  4. EVE-NG使用手册

    转裁于https://www.cnblogs.com/51yuki/articles/eve01.html EVE-NG使用手册   一)EVE-NG的安装 1)下载EVE镜像包 https://pa ...

  5. Python爬取视频指南

    摘自:https://www.jianshu.com/p/9ca86becd86d 前言 前两天尔羽说让我爬一下菜鸟窝的教程视频,这次就跟大家来说说Python爬取视频的经验 正文 https://w ...

  6. Java实现 微信小程序 + 消息推送

    实现效果: 下面要显示五个字段 接下来,参照官方文档,一步步实现: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open- ...

  7. matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段

    一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...

  8. mvn-dependencies-vs-dependencyManagement

    dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显式的声明需要用的依赖. dependencies 相对于dependencyManagement,所有声明在dep ...

  9. elastalert 用import属性来组织,引入配置

    对应rule的一些公用规则,可以放到一个或者多个头文件中.主的rule yaml文件引入即可.文件名随意,最好别用yaml后缀,要不会被当做一个rule.另外import在rule文件中只能出现一次. ...

  10. Guide of Apache Directory Studio

    Default User and Password admin secret