磁盘文件管理第二部

           磁盘文件管理(第二部)

接下来学习

->LVM逻辑卷的创建和管理

->磁盘配额的设置方法

先看理论

许多Linux使用者在安装系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初当初估计不准确,一旦分区不够使用时可能不得不备份,删除相关的数据,甚至被迫重新规划分区并重新安装操作系统,以满足应用系统需要。

本小结将通过LVM逻辑卷管理机制的学习,掌握动态调整Linux分区容量的方法。

LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它建立在硬盘和分区之上,文件系统之下的一个逻辑层,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘的管理的灵活性。

1.1  PV(PhysicalVolume,物理卷)

物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘,创建物理卷时,会在分区或硬盘的头部创建一个保留区块(PE,Physical  Extent)     从而构成物理卷。(物理卷一般直接使用设备文件名称。如/dev/sdb1、/dev/sdb2、/dev/sdd等..)

对于转换成物理卷的普通分区,建议先使用fdisk工具,将分区类型的ID号改为“8e”。若是整个硬盘,可以将所有磁盘空间划分一个主分区后在作相应调整

1.2 VG(Volume Group,卷组)

是由一个或多个物理卷组成一个整体,既称为卷组,在卷组中可以动态添加或移出物理卷,

1.3 LV (Logical Volume,逻辑卷)

逻辑卷是建立在卷组之上,与物理卷没有直接关系,对于逻辑卷来说,每个卷组就是一个整体,从这个整体中 "切出" 一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。(使用mkfs等分区工具在逻辑卷上创建文件系统以后,就可以挂载到Linux系统中的目录下使用。)

通过上述对物理卷,卷组,逻辑卷的解释可以看出,建立LVM分区管理机制的过程就是,首先将普通分区或整个硬盘创建为物理卷,接下,将物理卷上比较分散的各个物理卷的存储空间组成组成一个逻辑整体,卷组:最后,基于卷组这个整体,分割不同的数据存储空间,形成逻辑卷,逻辑卷才是最终用户可以格式化并且挂载使用的存储单位。

LVS的管理命令

为了便于理解,先用fdisk工具现在磁盘设备"/dev/sdb"中划分三个主分区 sdb1 sdb2

sdb3,每个磁盘大小为20G ,将ID号改为8e。若是分区已被挂载,必须先进行卸载,在进行分区调整操作。

功能              PV管理命令            VG管理命令                     LV管理命令

Scan扫描                  Pvscan                        vgscan                                           lvscan

Create建立              pvcreate                     vgcreate                                       lvcreate

Display显示             pvdisplay                    vgdisplay                                       lvdisplay

Remove移出            pvremove                   vgremove                                     lvremove

Extend扩展                                                   vgextend                                       lvextend

Reduce减少                                                  vgreduce                                       lvreduce

fdisk /dev/sdb

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-7832, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G}(1-7832, default 7832): +20000M

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (2552-7832, default 2552):

Using default value 2552

Last cylinder, +cylinders or +size{K,M,G}(2552-7832, default 7832): +20000M

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

p

Partition number (1-4): 3

First cylinder (5103-7832, default 5103):

Using default value 5103

Last cylinder, +cylinders or +size{K,M,G}(5103-7832, default 7832): +20000M

Command (m for help): p

Disk /dev/sdb: 64.4 GB, 64424509440 bytes

255 heads, 63 sectors/track, 7832 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes

Sector size (logical/physical): 512 bytes /512 bytes

I/O size (minimum/optimal): 512 bytes / 512bytes

Disk identifier: 0xa53c58e2

Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1        2551   20490876   83  Linux

/dev/sdb2            2552        5102   20490907+  83  Linux

/dev/sdb3            5103        7653   20490907+  83  Linux

Command (m for help): t

Partition number (1-4): 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e(Linux LVM)

Command (m for help): t

Partition number (1-4): 2

Hex code (type L to list codes): 8e

Changed system type of partition 2 to 8e(Linux LVM)

Command (m for help): t

Partition number (1-4): 3

Hex code (type L to list codes): 8e

Changed system type of partition 3 to 8e(Linux LVM)

Command (m for help): p

Disk identifier: 0xa53c58e2

Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1        2551   20490876   8e Linux LVM

/dev/sdb2            2552        5102   20490907+  8e  Linux LVM

/dev/sdb3            5103        7653   20490907+  8e  Linux LVM

1.  PV物理卷管理

pvscan 命令用于扫描系统中的说有物理卷,并输出相关信息

pvscan

PV/dev/sdb1                      lvm2[19.54 GiB]

PV/dev/sdb2                      lvm2[19.54 GiB]

PV/dev/sdb3                      lvm2[19.54 GiB]

Total: 3 [58.62 GiB] / in use: 0 [0  ] / in no VG: 3 [58.62 GiB]

pvcreate命令用于分区或整个硬盘转换成物理卷。主要是添加LVM属性信息并划分PE存储单位。例如将/dev/sdb1  /dev/sdb2  /dev/sdb3转换成物理卷。

pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3

Physical volume"/dev/sdb1" successfully created

Physical volume "/dev/sdb2"successfully created

Physical volume "/dev/sdb3"successfully created

pvdisplay用于显示物理卷的详细信息,需要指定物理卷作为命令参数。例如pvdisplay  /dev/sdb3 命令可以查看物理卷/dev/sdb3的详细信息。

pvdisplay  /dev/sdb3

"/dev/sdb3" is a new physical volume of "19.54 GiB"

---NEW Physical volume ---

PVName               /dev/sdb3

VGName

PVSize               19.54 GiB

Allocatable           NO

PESize               0

Total PE              0

Free PE               0

Allocated PE          0

PVUUID              1b0U7f-dXic-7pgx-CYX0-JU44-9xTT-UzKexG

pvremove命令用于将物理卷还原成普通分区或磁盘,不在用于LVM体系,被移出的物理卷将无法pvscan识别,例如"pvremove /dev/sdb3"命令可以将物理卷/dev/sdb3从LVM体系中移出。

pvremove /dev/sdb3

/dev/cdrom:openfailed : 只读文件系统

Attemptto close device ‘/dev/cdrom‘ which is not open.

Lableson physical volume "/dev/sdb3" successfully woped

创建时不要做这步

2.  VG卷组管理

vgscan命令用于扫描系统中以建立的LVM卷组及相关信息。

vgscan

Reading all physical volumes.  This may take a while...

Found volume group "VG" usingmetadata type lvm2

vgcreate 命令用于将一个或多个物理卷创建为一个卷组,第一个命令参数用于设置新卷组的

名称,其后依次指定需要加入到该卷组的物理卷做为参数。例如:

vgcreateVG /dev/sdb1 /dev/sdb2

Volume group "VG" successfullycreated

vgdisplay命令用于显示系统中各卷的详细信息。

vgdisplayVG

--- Volume group ---

VG Name               VG

System ID

Format                lvm2

Metadata Areas        2

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                2

Act PV                2

VG Size               39.08 GiB

PE Size               4.00 MiB

Total PE              10004

Alloc PE / Size       0 / 0

Free PE / Size       10004 / 39.08 GiB

VG UUID              Cr7Pai-Sk8C-9iD0-akCQ-9Qjz-sY40-eVuFwn

vgremove命令用于删除指定的卷组,指定卷组名称作为参数既可。

vgremove  VG

Volumegroup "VG" successfully removed

vgextend命令用于扩展卷组的磁盘空间。当创建了新的物理卷,并需要将其添加到已有卷组中时,就可以使用vgextend命令。该命令的第一个参数为需要扩展容量的卷组名称,其后为需要添加到该卷组的各物理卷。例如,一下操作将重新创建卷组VG,之包含物理卷"/dev/sdb1",然后通过vgextend命令将物理卷"/dev/sdb2"添加到卷组VG中。

LV逻辑卷管理

lvscan命令使用

lvcreate命令用于从指定的卷组中分割空间。例如:从VG卷组中建立一个新的逻辑卷,容量为10G,名称为benet。

lvcreate-L 10G -n benet VG

Logical volume "benet" created

lvdisplay命令用于显示逻辑卷相许信息,需要指定逻辑卷的设备文件作为参数也可以使用卷组名作为参数,以显示该卷组中所有逻辑卷的信息,例如:!!!

lvdisplay/dev/VG/benet

--- Logical volume ---

LV Path                /dev/VG/benet

LV Name                benet

VG Name                VG

LV UUID               u3CPkX-4Kci-7Ah9-I5Ci-31ND-PdSB-LUEnhT

LV Write Access        read/write

LV Creation host, time Centos, 2015-09-0504:05:28 +0800

LV Status              available

# open                 0

LV Size                10.00 GiB

Current LE             2560

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     256

Block device           253:0

lvextend命令用于动态扩展逻辑卷的空间,当前使用的逻辑卷空间不足时,可以从所在的卷组中分割额外的空间进行扩展。

lvextend-L +5G /dev/VG/benet

Extending logical volume benet to 15.00 GiB

Logical volume benet successfully resized

lvdisplay/dev/VG/benet

--- Logical volume ---

LV Path                /dev/VG/benet

LV Name                benet

VG Name                VG

LV UUID               u3CPkX-4Kci-7Ah9-I5Ci-31ND-PdSB-LUEnhT

LV Write Access        read/write

LV Creation host, time Centos, 2015-09-0504:05:28 +0800

LV Status              available

# open                 0

LV Size                15.00 GiB

Current LE             3840

Segments               1

Allocation             inherit

Read ahead sectors     auto

- currently set to     256

Block device           253:0

lvremove命令用于删除指定的逻辑卷直接使用逻辑的设备文件作为参数即可,例如:!!!

lvremove/dev/VG/benet

Do you really want to remove acticvelogical volume ‘benet‘?[y/n ]:y

Logical volume"benet" successfully remove

LVM应用实例:

1.关闭服务器主机,打开机箱,正确挂载两块SCSI新硬盘。

2.开启服务器主机,并执行"fdisk -l" 命令进行查看,确认已识别新增的硬盘(sdb、sdc)。

3.在新磁盘中进行分区,将每块硬盘的所有空间划分一个独立的主分区,并将分区类型更改文件8e 。分好区后使用"fdisk -l" 命令查看,确认结果如下。

disk -l/dev/sdb /dev/sdc

Diskidentifier: 0xa53c58e2

Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1        2551   20490876   8e  Linux LVM

/dev/sdb2            2552        5102   20490907+  8e  Linux LVM

/dev/sdb3            5103        7653   20490907+  8e  Linux LVM

4. 将/devsdb1和/dev/sdc1 分区转换为物理卷。

pvcreate  /dev/sdb1/dev/sdc1

Physical volume "/dev/sdc1"successfully created

5. 将上述两个物理卷整合,创建名为VG的卷组

vgcreateVG /dev/sdb1 /dev/sdc1

Volumegroup "VG" successfully created

6. VG卷组中创建一个名为benet的逻辑卷,容量为120G

lvreate-L 120G -n benet VG

Logicalvolume "benet" created

7.使用mkfs命令对逻辑卷benet进行格式化,创建EXT3文件系统,并挂载/mailbox目录下。

mkfs -text3 /dev/VG/benet

mkdir/dtylt

mount/dev/VG/benet /dtylt

df -hT/dtylt

Filesystem           Type Size  Used Avail Use% Mounted on

/dev/mapper/VG-benetext3   15G  166M  14G   2% /dtylt

时间: 2024-10-12 19:40:36

磁盘文件管理第二部的相关文章

磁盘文件管理(第一部)   后续第二部请等待!!!

文件磁盘管理(第一部) 后续第二部请等待 查看硬盘分区情况 fdisk -l Disk identifier: 0x00098bab Device Boot      Start         End      Blocks  Id  System /dev/sda1  *           1          64      512000  83  Linux Partition 1 does not end on cylinderboundary. /dev/sda2         

Cocos2d-x 3.2 大富翁游戏项目开发-第二部分片头动画

第二部分片头动画 首先在visula studio 下创建新工程 工具类ConstUtil.h,该文件主要定义了一些图片资源.字符串.字体等 #ifndef __CONSTUTIL_H__ #define __CONSTUTIL_H__ //定义了诚迈科技四张图片资源,由于在诚迈科技,就用公司名称做动画吧 #define CHENG_IMAGE "cheng.png" #define MAI_IMAGE "mai.png" #define KE_IMAGE &quo

一次被黑的奇葩经历(三部曲) 第二部 分析

第二部 分析 接着第一部继续讲我的asp.net网站是怎么被黑的,以后为大家可能被黑做个提醒. 为什么说我的网站被黑呢?前一段时间有人加我,要我删除一条发的信息. 几乎每隔几天都有人加我,要我删除. 一直不答应删除,所以这个原因,可能找了一个blacker来,删除这条信息. 过了一个周,再没有人加我了,所以我怀疑是不是这条数据被删除了. 我打开浏览器一输入网址,居然真的没有了,所以我想想已经被别人给删除了. 但是怎么删除? 分析一下,有可能三种原因: 第一:sql注入. 然后打开日志文件: 从1

nfs网络文件系统服务介绍与实战第二部

本博文议程如下: 1.生产情况应用案例 2.NFS客户端可挂载的参数 3.人为模拟错误的学习方法 4.NFS在网站架构中的位置 5.NFS的优缺点 议程1.生产情况实际案例概述: 实现当多台客户端同时挂载一台NFS Server时,无论从哪个客户端写入数据,其他客户端同样可以读写,即让所有NFS客户端写入到NFS Server的文件或目录在NFS Server上的用户和组都是同一个名称nfsnobody .请给出操作步骤,并加以说明. 实现NFS服务端的/data目录共享,指定主机(自己设置),

思考出真知之日出日落第二部-个人篇?

目录   (1):思考出真知之日出日落第一部-公司篇? (2):思考出真知之日出日落第二部-个人篇? (3):思考出真知之日出日落第三部-团队篇? (4):思考出真知之日出日落第四部-项目篇? ----------------------------------------------------------------------------------------------------------------------------- 在我们程序员的生涯中我们一定会经历累过,苦过,又伤心,

老男孩视频第二部视频学习笔记(第二部)之一:命令(1)

命令:chkconfig  cat ls tail ln find wc tar cut grep egrep 一.如何过滤出已知当前目录下的所有一级目录 如何区分目录和文件:   1.利用颜色(这个依赖与CRT等工具)   2.利用 开头字母 · ls –l | grep ^d (正则表达式中一个字符 在[]中是非,在[]外面就是以什么开头) · ls –lF | grep / · ls –lF | grep /$  小结: 1.通过ls –l 以长格式显示文件属性,然后过滤以d开关的行,就是

Caffe初学者第二部:Ubuntu16.04上安装caffe(CPU)+Matlab2014a+Opencv3的详细过程 (亲测成功, 20180529更新)

这是caffe初学者系列教程的第二部,旨在帮助更多对深度学习感兴趣的同学们!第一部可以参考以下地址: Caffe初学者第一部:Ubuntu14.04上安装caffe(CPU)+Python的详细过程 (亲测成功, 20180524更新) 好啦,开始我们的教程吧! 前言: 之前的第一部教程发布以后,很受欢迎,看样子我的努力没白费,毕竟写博文花了我好几个小时,感谢同学们的支持啦^_^ 亲测教程: 本教程需要准备的文件有:Ubuntu16.04, Opencv3(必要), Matlab2014a. (

使用http.sys,让delphi的多层服务真的飞起来【第二部】

这是本专题的续集,没读过第一部的看这里:http://bbs.2ccc.com/topic.asp?topicid=548153 之所以要搞第二部是因为第一部跟贴太多,读起来不方便,浪费大家的时间. 今天咱们聊的主题是:Delphi的DataSnap实质分析先说DataSnap中文应该翻译成什么,我个人的译法是:数据快照.大家不要被这么多介绍DataSnap的资料弄晕了,其实原理非常简单.要把DataSnap搞明白,必须先把客户端的TClientDataset控件搞明白,不会,找度娘.下面简称C

Seele元一正式公开第二部黄皮书“区块链网络中消息传播的一种加速方法”

9月5日,Seele元一公开发表第二部黄皮书"区块链网络中消息传播的一种加速方法".当晚,Seele首席科学家毕伟博士在台湾大学Seele全球名校行首站活动中,与台湾大学资讯工程系廖世伟教授.台大学生及校友面对面解读黄皮书内容.继8月10日发表"多重椭圆曲线的数字签名方法"后,为产业而来的Seele元一不断落实系列黄皮书发表计划.传统区块链网络中,扩展区块链的关键问题之一,就是最小化获胜区块传播与次轮竞争启动间的时间间隔.本次公布的第二部黄皮书中对此提出一种新的解决