Linux LVM学习总结——创建卷组VG
在Linux平台如何创建一个卷组(VG)呢?下面简单介绍一下卷组(VG)的创建步骤。本文实验平台为Red Hat Enterprise Linux Server release 6.6 (Santiago)
1: 查看当前卷组信息
查看服务器的卷组(VG)、物理卷(PV)、逻辑卷(LV)相关信息,在此之前,我们先来看看一些基本命令以及用法
vgcan命令介绍 :
查找系统中存在的LVM卷组,并显示找到的卷组列表。vgscan命令仅显示找到的卷组的名称和LVM元数据类型,要得到卷组的详细信息需要使用vgdisplay命令。
vgscan的参数:
| [—cache] | Scan devices for LVM physical volumes and volume groups and instruct the lvmetad daemon to update its cached state accordingly |
| [--commandprofile ProfileName] |
|
| [-d|--debug] | 调试模式 |
| [-h|--help] | 查看帮助信息 |
| [--ignorelockingfailure] | 忽略锁定失败的错误。 |
| [--mknodes] | Also checks the LVM special files in /dev that are needed for active logical volumes and creates any missing ones and removes unused ones |
| [-P|--partial] | 部分模式。将处理不完整的逻辑卷 |
| [-v|--verbose] | 显示输出详细信息 |
| [--version] | 查看命名版本信息 |
pvscan命令介绍:
扫描系统中连接的所有硬盘,列出找到的物理卷列表。
pvscan的参数:
pvscan
| [-b|—background] | 在后台运行这个命令 |
| [--cache [-a|--activate ay] [ DevicePath | --major major --minor minor]...] | |
| [--commandprofile ProfileName] | |
| [-d|—debug] | 调试模式 |
| {-e|--exported | -n|—novolumegroup} | -e 仅显示属于输出卷组的物理卷; -n 仅显示不属于任何卷组的物理卷; |
| [-h|-?|--help] | 显示命令的帮助信息 |
| [—ignorelockingfailure] | 忽略锁定失败的错误。 |
| [-P|—partial] | 部分模式. 将处理不完整的逻辑卷 |
| [--readonly] | |
| [-s|—short] | 简短格式输出 |
| [-u|—uuid] | 显示输出UUID信息 |
| [-v|—verbose] | 显示输出详细信息 |
| [—version] | 查看pvscan命令版本 |
lvscan命令介绍 :
扫描当前系统中存在的所有LVM的逻辑卷(lv)
lvscan的参数:
| [-a|—all] | 输出所有的逻辑卷信息 |
| [-b|--blockdevice] | 显示逻辑卷的主设备号和次设备号 |
| [--cache] | |
| [--commandprofile ProfileName] | |
| [-d|—debug] | 调试模式 |
| [-h|-?|--help] | 查看命令的帮助信息 |
| [——ignorelockingfailure] | 忽略锁定失败的错误。 |
| [-P|—partial] | 部分模式. 将处理不完整的逻辑卷 |
| [--readonly] | |
| [-v|—verbose] | 输出详细的结果 |
| [—version] | 查看lvscan命令版本 |
[root@getlnx20 ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
[root@getlnx20 ~]# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [39.51 GiB / 0 free]
Total: 1 [39.51 GiB] / in use: 1 [39.51 GiB] / in no VG: 0 [0 ]
[root@getlnx20 ~]# lvscan
ACTIVE '/dev/VolGroup00/lv_root' [31.51 GiB] inherit
ACTIVE '/dev/VolGroup00/lv_swap' [8.00 GiB] inherit
[root@getlnx20 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-lv_root
31G 2.5G 27G 9% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 477M 33M 419M 8% /boot
[root@getlnx20 ~]#
新增一块硬盘后,使用fdisk -l命令,我们可以看到这块新增的硬盘被标记为/dev/sdb
[root@getlnx20 ~]# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
64 heads, 32 sectors/track, 40960 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006822c
Device Boot Start End Blocks Id System
/dev/sda1 * 2 501 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 502 40960 41430016 8e Linux LVM
Partition 2 does not end on cylinder boundary.
Disk /dev/mapper/VolGroup00-lv_root: 33.8 GB, 33831256064 bytes
255 heads, 63 sectors/track, 4113 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup00-lv_swap: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
新增一个80G的硬盘,但是为什么使用fdisk -l命令查看到的是85.9G?相信很多人看到这个都会有些疑惑。这个是因为计算时使用的单位有所差异所致, 85899345920/1024/1024/1024=80G,而85899345920/1000/1000/1000 ~= 85.899 ~= 85.9G 。
2: 新建一个分区(partition)
新建一个主分区(primary partition)或逻辑分区(logical partition)都OK
[root@getlnx20 ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xaa12f277.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10443, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-10443, default 10443):
Using default value 10443
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
3:创建PV(物理卷)
[root@getlnx20 ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
[root@getlnx20 ~]# pvscan
PV /dev/sda2 VG VolGroup00 lvm2 [39.51 GiB / 0 free]
PV /dev/sdb1 lvm2 [80.00 GiB]
Total: 2 [119.51 GiB] / in use: 1 [39.51 GiB] / in no VG: 1 [80.00 GiB]
4:创建VG(卷组)
[root@getlnx20 ~]# vgcreate -s 32M VolGroup01 /dev/sdb1
Volume group "VolGroup01" successfully created
[root@getlnx20 ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup01" using metadata type lvm2
Found volume group "VolGroup00" using metadata type lvm2
5:查看VG可用空间
[root@getlnx20 ~]# vgdisplay
--- Volume group ---
VG Name VolGroup01
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size 79.97 GiB
PE Size 32.00 MiB
Total PE 2559
Alloc PE / Size 0 / 0
Free PE / Size 2559 / 79.97 GiB
VG UUID FD5kEp-a9Cv-K181-Xb7e-i8k4-zV52-Dbuxc3
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 39.51 GiB
PE Size 4.00 MiB
Total PE 10114
Alloc PE / Size 10114 / 39.51 GiB
Free PE / Size 0 / 0
VG UUID sWwXef-0AHf-66ZI-dZHh-JuJt-KMj7-YqIisW
[root@getlnx20 ~]#
6:建立逻辑卷(LV)
[root@getlnx20 ~]# lvcreate -L79.97G -n LogVol00 VolGroup01
Rounding up size to full physical extent 80.00 GiB
Volume group "VolGroup01" has insufficient free space (2559 extents): 2560 required.
[root@getlnx20 ~]# lvcreate -L79.96G -n LogVol00 VolGroup01
Rounding up size to full physical extent 79.97 GiB
Logical volume "LogVol00" created
[root@getlnx20 ~]# lvscan
ACTIVE '/dev/VolGroup01/LogVol00' [79.97 GiB] inherit
ACTIVE '/dev/VolGroup00/lv_root' [31.51 GiB] inherit
ACTIVE '/dev/VolGroup00/lv_swap' [8.00 GiB] inherit
7:建立文件系统
[root@getlnx20 ~]# mkfs -t ext3 /dev/VolGroup01/LogVol00
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
5242880 inodes, 20963328 blocks
1048166 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
640 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
8:建立挂载点
[root@getlnx20 ~]# mkdir /mysqldata
9:挂载存储
[root@getlnx20 ~]# mount /dev/VolGroup01/LogVol00 /mysqldata
[root@getlnx20 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-lv_root
31G 2.5G 27G 9% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 477M 33M 419M 8% /boot
/dev/mapper/VolGroup01-LogVol00
79G 184M 75G 1% /mysqldata
[root@getlnx20 ~]#
10:修改fstab配置文件实现自动挂载
[root@getlnx20 ~]# more /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Jun 13 10:29:07 2015
#
# 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
#
/dev/mapper/VolGroup00-lv_root / ext4 defaults 1 1
UUID=5486634e-ec6a-42d5-bbb9-dcd92537c294 /boot ext4 defaults 1 2
/dev/mapper/VolGroup00-lv_swap swap swap defaults 0 0
/dev/VolGroup01/LogVol00 /mysqldata ext3 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
[root@getlnx20 ~]#
lVM学习总结系列文章
Linux LVM学习总结——创建卷组VG的更多相关文章
- Linux LVM学习总结——删除卷组VG
在Linux系统中,如何删除一个卷组(VG)呢? 下面我总结了一下如何删除卷组(VG)的具体步骤,仅供参考,如有不足,敬请指出.谢谢!在下面的例子中,我想删除卷组VolGroup05. 步骤1: 查看 ...
- Linux LVM学习总结——扩展卷组VG
Linux服务器由于应用变更或需求的缘故,有可能出现分区空间不足的情况,此时往往需要进行扩容(要增加分区的空间),而采用LVM的好处就是可以在不需停机的情况下可以方便地调整各个分区大小.如下所示,分区 ...
- 烂泥:LVM学习之逻辑卷LV及卷组扩容VG
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上篇文章中介绍了有关LVM基础的知识,这篇文章我们来介绍如何给LVM的逻辑卷LV及卷组VG扩容. LVM的逻辑卷,我们知道它最后相当于一个分区,既然是一 ...
- Linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理
(一)相关概念 逻辑卷是使用逻辑卷组管理(Logic Volume Manager)创建出来的设备,如果要了解逻辑卷,那么首先需要了解逻辑卷管理中的一些概念. 物理卷(Physical Volume, ...
- lvm创建卷组和格式化
* 前提条件:/dev/sdb为一块空的硬盘 * 创建物理卷:pvcreate /dev/sdb * 创建卷组:vgcreate vol_name /dev/sdb (vol_name 为卷组名字) ...
- Linux LVM学习总结——放大LV容量
本篇介绍LVM管理中的命令lvresize,我们先创建一个卷组VG VolGroup02,它建立在磁盘/dev/sdc (大小为8G)上.创建逻辑卷LV时,我们故意只使用了一小部分.具体情况如下所示 ...
- Linux LVM学习总结——删除物理卷
本篇介绍LVM管理中的命令vgreduce, pvremove.其实前面几篇中以及有所涉及. vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量.注意:不能删除LVM卷组中剩余的最后一个物理 ...
- 烂泥:LVM学习之逻辑卷及卷组缩小空间
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章,我们学习了如何给LVM的逻辑卷及卷组扩容.这篇文章我们来学习,如何给LVM的逻辑卷及卷组缩小空间. 注意逻辑卷的缩小一定要离线操作,不能是在 ...
- 烂泥:LVM学习之逻辑卷、卷组及物理卷删除
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上篇文章,我们介绍了有关LVM的逻辑卷及卷组的空间缩小.这次我们来介绍下如何删除一个逻辑卷及卷组. 删除逻辑卷需要以下几个步骤: 1. 卸载已经挂载的逻 ...
随机推荐
- android 如何正确使用 泛型 和 多参数 “偷懒”
我要实现这样一个标题栏 共 4 个选项,采用布局是一个 TextView 对应一个小三角 ImageView,各个选项没被点击时,字体颜色是 黑色,小三角不显示,点击后,字体变色,小三角居下显示,同时 ...
- 1Z0-053 争议题目解析682
1Z0-053 争议题目解析682 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 682.Identify the scenarios in which the RMAN CROS ...
- C#解决Linq OrderBy() 失效的小技巧
前言 前几天的一个数据列表中我用了Linq GroupBy 和OrderBy. 排序在本机正常使用,发到测试后排序死活不对,很是郁闷,总以为是程序问题.于是请教了另外一个同事.有了以下的答案. 问题原 ...
- 使用dynamic linq 解决自定义查询的若干弊端
在项目中想必大家肯定是使用各种ORM, 如:NH.EF.fluent Data. 然而我在使用ORM的这几年中,随着数据库的结构越来越复杂,自定义查询的越来越多,但是一直没有解决一个问题就是自定义查询 ...
- HTML基本结构
HTML简介 HyperText Markup Language:超文本标记语言 HyperText:超文本(文本 + 图片 + 视频 + 音频 + 链接) Markup Language:标记语言 ...
- jQuery-1.9.1源码分析系列(十二) 筛选操作
在前面分析的时候也分析了部分筛选操作(详见),我们接着分析,把主要的几个分析一下. jQuery.fn.find( selector ) find接受一个参数表达式selector:选择器(字符串). ...
- window.open
window.open 的三个参数 第一个参数:url 第二个参数:对应新打开标签或者窗口的window.name属性,如果为填默认为 "_blank" 第三个参数:如果有则打开的 ...
- 使用签名来保证ASP.NET MVC OR WEBAPI的接口安全
当我们开发一款App的时候,App需要跟后台服务进行通信获取或者提交数据.如果我们没有完善的安全机制则很容易被别用心的人伪造请求而篡改数据. 所以我们需要使用某种安全机制来保证请求的合法.现在最常用的 ...
- [WCF编程]3.WCF基础
一.服务 服务是一组公开功能的集合. 服务内部包含了如语言.技术.版本与框架等概念,服务之间的交互只允许使用规定的通信模式 外界客户端并不知道服务内部的实现细节,所以WCF服务通常通过元数据的方式描述 ...
- Mybats中字符串判断
<if test=" name=='你好' "> <if> 这样会有问题,换成 <if test=' name=="你好" ' ...




