centos7使用LVM管理一块新的磁盘

 

注意!文中凡是带#的都是命令标志。

 

一些重要概念:

LV(Logical Volume)- 逻辑卷,

VG(Volumne Group)- 卷组,

PV(Physical Volume)- 物理卷,

的关系图

 

PE(Physical Extent)- 物理块

LVM 默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE (lvm1 的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。PE是整个LVM 最小的储存区块,也就是说,其实我们的资料都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。所以调整PE 会影响到LVM 的最大容量!p在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。

 

 

 

简单指令:

1. pv相关:pvdisplay、pvs、pvscan,pvcreate

2. vg相关:vgdisplay、vgs、vgscan,vgcreate

3. lv相关:lvdisplay、lvs、lvscan,lvcreate

 

# fdisk -l
查看磁盘信息

/dev/sdb是我们需要管理的新的磁盘。

虚拟机中可以通过设置来添加新的磁盘,添加后重启后使用# fdisk -l 就会看到有一块新的磁盘。

 

1、创建系统分区

选择/dev/sdb创建分区;

将整个sdb磁盘划分为一个sdb1分区,格式为Linux LVM;

# fdisk /dev/sdb

进入磁盘后然后按照如下操作为磁盘划分分区:

Command (m for help): n (创建新分区)

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p (选择创建主分区,e是扩展分区)

Partition number (1-4, default 1): 1 (分区号选择1)

First sector (2048-31457279, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-31457279, default 31457279):

Using default value 31457279

Partition 1 of type Linux and of size 15 GiB is set

 

Command (m for help): p (查看已经创建的分区)

Disk /dev/sdb: 16.1 GB, 16106127360 bytes, 31457280 sectors

Device Boot Start End Blocks Id System

/dev/sdb1 2048 31457279 15727616 83 Linux (系统默认为83,即:Linux)

 

Command (m for help): t (修改分区格式)

Selected partition 1

Hex code (type L to list all codes): 8e (8e为Linux LVM格式)

Changed type of partition 'Linux' to 'Linux LVM'

 

Command (m for help): p (查看已经创建的分区)

Disk /dev/sdb: 16.1 GB, 16106127360 bytes, 31457280 sectors

Device Boot Start End Blocks Id System

/dev/sdb1 2048 31457279 15727616 8e Linux LVM

 

Command (m for help): w (保存)

 

2、创建PV

# pvcreate /dev/sdb1 (创建PV根据磁盘的分区)

# pvdisplay                (查看所有的pv详情)

# pvs

    PV     VG Fmt Attr PSize PFree

    /dev/sdb1     lvm2 --- 10.00g 10.00g

 

# pvscan

PV /dev/sdb1 lvm2 [10.00 GiB]

 

3、创建VG

(1)根据某个或几个PV创建VG

# vgcreate vg_01 /dev/sdb1 -s 64M(指定PE大小,可以不指定)

    # vgcreate vg_01 /dev/sdb1 /dev/sdb1

(2)根据某个磁盘创建VG

    # vgcreate vg_01 /dev/sdb1 /dev/sdb

(3)重命名VG

# vgrename 旧名 新名

4、创建LV-->格式化LV-->挂载LV

(1)根据VG创建LV,从VG中取出8g

# lvcreate -L 8G -n lv_01 vg_01

(2) 根据VG创建LV,从VG中取出全部free部分

# lvcreate -l 100%FREE -n lv_01 vg_01

(3)使用xfs文件系统对LV进行格式化

    # mkfs.xfs /dev/vg_01/lv_01

(4)挂载

    # mkdir /sinotrans-cms

# mount /dev/vg_01/lv_01 /sinotrans-cms

# df -Th

开机自动挂载,编辑vim /etc/fstab,在最后加入以下内容

/dev/vg_01/lv_01 /sinotrans-cms xfs defaults 0 0

 

第一列:要挂载的磁盘

第二列:挂载点

第三列:文件类型

第四列:挂载选项,详细参考man mount. 下面列出一些常用的选项:

auto: 系统自动挂载,fstab默认就是这个选项

ro: read-only

rw: read-write

defaults: rw, suid, dev, exec, auto, nouser, and async.

第五列:为dump选项,设置是否让备份程序dump备份文件系统,0为忽略,1为备份。

第六列:为fsck选项,告诉fsck程序以什么顺序检查文件系统,0为忽略。

 

5、VG扩容

首先需要有空闲的PV、空闲的磁盘或空闲的分区

(1)创建PV

 

(2)扩容VG

# vgextend vg_01 磁盘/PV

# vgextend vg_01 /dev/sdc1 (PV方式)

# vgextend vg_01 /dev/sdc (磁盘方式)

6、LV扩容

# lvextend -L +3G /dev/vg_01/lv_01

使用vgs和lvs查看会看到vg_01的free减少了3g,lv_01增加了3g

 

# resize2fs /dev/vg_01/lv_01

执行此命令后目录容量才会改变

 

 

Java学习笔记:https://gitee.com/wenlongup/JavaStudyNotes

Java技术资料分享群:684474011

Centos7 使用LVM进行新加磁盘管理的更多相关文章

  1. vmware新加磁盘fdisk看不到的处理

    虚拟机硬盘空间不够了,做了lvm准备加块硬盘扩容,在vcenter控制台加了磁盘,结果操作系统里面fdisk -l看不到新加的硬盘,又不想重启怎么办,一条命令就可以搞定. # 注意中间有空格echo ...

  2. Linux新加磁盘并挂载到目录

    步骤:1.分区  ----> 2.格式化  ----> 3.挂载 一.查看当前情况 1. 2. 二.磁盘分区 fdisk /dev/sdb 1.输入n,表示添加一个新的分区 2. e ex ...

  3. Linux新加磁盘挂载和重启自动挂载

    提示两点:*新加的硬盘需要重启服务器fdisk -l才能看到*下面操作要用root账户大概是这样的,查看-分区-格式化-挂载-重启自动挂载1.加硬盘后重启服务器查看[root@test199 ~]# ...

  4. 继续我们的学习。这次鸟哥讲的是LVM。。。磁盘管理 最后链接文章没有看

    LVM...让我理解就是一个将好多分区磁盘帮到一起的玩意,类似于烙大饼...然后再切 新建了一个虚拟机,然后又挂了一个5G的硬盘,然后分出了5块空间,挂载到了虚拟机上.这些步骤很简单 fdisk    ...

  5. 新加了一块硬盘,在bios中可以看的到,在系统的磁盘管理器中看不到新加硬盘

    今天新加了一块硬盘,进入bios中可以看到新加的硬盘,但是进入系统后在磁盘管理及磁盘驱动器中都看不到.并且在设备管理器下其他设备出现了ATA channel1,前面显示感叹号,如下图所示: 而且电脑变 ...

  6. Linux磁盘管理之LVM

    一.LVM介绍 在我们管理Linux磁盘的时候,通常会遇到这么一种情况.在最初规划Linux的磁盘的时候,我们给某个分区划分了一定量的磁盘空间,使用一段时间后,发现我们规划的磁盘空间不足了,这个时候怎 ...

  7. Linux进阶之磁盘管理及LVM逻辑卷

    本节内容 磁盘管理 LVM 一.磁盘管理 1.硬盘接口 种类及其应用: IDE接口硬盘多用于家用产品,部分应用于服务器 SATA SCSI接口硬盘主要应用于服务器 SAS只在高端服务器上,价格昂贵 2 ...

  8. LVM磁盘管理

    http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html Linux LVM硬盘管理及LVM扩容 LVM磁盘管理 一.LVM简介... ...

  9. Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理

    一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该 ...

随机推荐

  1. Sql 本周当天本期日期转换

    --查询当天: --查询24小时内的: --info为表名,datetime为数据库中的字段值 --查询当天: --查询24小时内的: select * from table where DateDi ...

  2. DataGridView进度条列 C# WinForm

    先看看效果,如果感兴趣,继续往下看…… 效果如下图所示: DataGridView里没有Pragress列,但有Image列,有了它我们可以自己绘图来实现进度条.其实实现起来并不困难. 首先在实体类增 ...

  3. [转]javascript之数组操作

    javascript之数组操作 .数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个 ...

  4. iOS UIWebView 和 WKWebView 的 cookie 获取,设置,删除

    Cookie简介说到Cookie,或许有些小伙伴会比较陌生,有些小伙伴会比较熟悉.如果项目中,所有页面都是纯原生来实现的话,一般Cookie这个东西或许我们永远也不会接触到.但是,这里还是要说一下Co ...

  5. Unified Service Desk Overview

    As we implement CRM in enterprise, we usually integrate with many other information system such as E ...

  6. python3绘图示例4(基于matplotlib:箱线图、散点图等)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib.pyplot import * x=[1,2,3,4]y=[5,4,3,2] # ...

  7. Altium_Designer-原理图库如何添加低电平有效的管脚?

    在编辑元件原理图符号时,在display name选项中将要加低电平的字符后面都加上“\”即可,如图:

  8. CRUD全栈式编程架构之界面层的设计

    Layout的设计 模板模式 mvc的模板特别类似设计模式中模板方法模式,结合Layout中RenderSection和RenderBody方法可以将部分html展现逻辑延迟到具体的视图页面去实现里面 ...

  9. VScode中的golang代码规范太严格,怎么处理。

    在vscode的配置文件settings.json中,加入下面的配置,一般设置为0.8即可. "go.lintFlags": [ "-min_confidence=.8& ...

  10. IOS NSThread 线程间通信

    @interface HMViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end @im ...