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

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

centos7中使用LVM管理磁盘和挂载磁盘的更多相关文章

  1. Ubuntu 开机自动挂载磁盘

    Ubuntu 磁盘挂载 1.使用命令查看分区 sudo fdisk -l 1 可以根据上图提供的磁盘信息确定想挂载的磁盘,以及确定挂载的位置. 我此次的目的是将/dev/sda2 磁盘挂载到/mnt/ ...

  2. Centos7中磁盘管理及扩展

    前提要求: 虚拟机:centos7 虚拟机软件:VMware Workstation 12 在安装Centos系统时,磁盘选择为LVM逻辑卷.当选择为LVM后才能创建逻辑卷等(必须) 数据格式选择的是 ...

  3. Linux权限及归属管理 磁盘管理 文件系统 LVM管理

    第五六七章   alias 查看系统别名   67 chmod 设置文件或目录的权限 -R表示以递归的方式设置目录及目录下的所有子目录及文件的权限 u:属主 g:属组 o:其他人 a:所有人 +:添加 ...

  4. Centos7 LVM管理的逻辑卷根目录扩容和/var目录扩容

    Centos7 LVM管理的逻辑卷根目录扩容 fdisk /dev/sdb #对新加磁盘进行分区操作pvcreate /dev/sdb1 #创建一个物理卷vgs #查看现有的卷组vgextend ce ...

  5. linux 挂载磁盘LVM

    最近又有个坑逼任务: 在客户给的三台虚拟机上在安装集群环境,,虚拟机没挂载磁盘 要配置成LV卷:大致理解逻辑之后理解为:LV卷后续方便做扩容 理论参考:https://www.cnblogs.com/ ...

  6. #学习笔记:CentOS7学习之十三(2):磁盘介绍与管理

    1.磁盘分区工具与挂载 1.1 硬盘分区符认识: MBR概述:全称为Master Boot Record,即硬盘的主引导记录. 硬盘的0柱面.0磁头.1扇区称为主引导扇区(也叫主引导记录MBR).它由 ...

  7. LVM实现将2块磁盘总空间“合二为一”并挂载到同一目录

    需求场景 将MySQL主机的2块18T的数据盘空间全部"合并"后挂载到/mysql_data目录下,要求文件系统格式化为xfs:已有关键信息梳理如下: 需要挂载的数据盘 /dev/ ...

  8. CentOS 7 增加磁盘分区挂载(lvm)

    1.查看主机现有磁盘情况 # fdisk -l 现在主机中存在一块8G的磁盘sdb,尚未分区挂载,所以需将磁盘进行分区挂载. 2.对磁盘进行分区 # fdisk /dev/sdb   (选择要操作分区 ...

  9. 03、磁盘管理+swap分区创建+磁盘配额+自动挂载

    磁盘管理 分区标识 一般用4位标识,前两位,磁盘类型,第3位,磁盘编号,第4位,分区编号 如: /dev/sda1     sd  磁盘类型    a  磁盘编号   1  分区编号 [root@s1 ...

随机推荐

  1. mycat学习日记:关于联表查询

    https://www.cnblogs.com/toulon/p/4832895.html 在使用数据库中间件之前,我就想到分库分表的操作对于联表操作可能会显得非常复杂.因为如果数据是分片存储的,如果 ...

  2. 10-----关于DOM的时间操作

    一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象 ...

  3. (转)linux内核参数注释与优化

    linux内核参数注释与优化 原文:http://blog.51cto.com/yangrong/1321594 http://oldboy.blog.51.cto.com/2561410/13364 ...

  4. 从零开始的全栈工程师——js篇2.6

    函数 Var 是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成. Var可以在内存模块提前(js代码执行前)完成所以有变量提升这个功能. 因为a没有带var,所以不存在变量 ...

  5. 用weex create 创建app项目 报 ERROR in index.web.js from UglifyJs 错误!

    用weex create创建一个APP项目,安装依赖后运行报 这个是package.json index.web.js 在dist目录下是build时生成的. 上面的答案没有给大家细节,不好意思致歉下 ...

  6. ArrayList与Vector区别

    ArrayList与Vector区别表 ArrayList Vector 1.实现原理:采用动态对象数组实现,默认构造方法创建了一个空数组 1.实现原理:采用动态数组对象实现,默认构造方法创建了一个大 ...

  7. Retrofit2与RxJava用法大全

    Retrofit2是square公司出品的一个网络请求库,网上有很多相关的介绍.我很久以前都想去研究了,但一直都有各种事情耽搁,现在就让我们一起去捋一捋,这篇主要讲解Retrofit2与RxJava的 ...

  8. 网页游戏中PK系统的实现

    在游戏开发过程中,写过一个简单的PK系统面板,涉及到前端和后端的交互,我将自己制作的流程分享给大家,大概流程是这样:前端发送PK邀请给后端,后端受到请求后将信息返回给前端处理,先来看下整个流程图及思路 ...

  9. iOS 当使用FD_FullscreenPopViewController的时候遇到scrollView右滑手势无法使用的解决

    当我们在ViewController中有scrollView的时候, 可能会遇到右滑无法响应返回手势, 有以下解决办法: 自定义scrollView, 实现该scrollView的以下方法即可: @i ...

  10. 【ros depthimage_to_laser kinect2】

    kinect2的深度图可以转换成激光来用,使用depthimage_to_laser 这个tf是用来给rviz显示的 1)开启kinect2 rosrun kinect2_bridge kinect2 ...