一,基本分区

1,磁盘/硬盘/disk/简介

1.1 类型

按工作原理区分

机械
机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。
固态

SSD的优势
  SSD是摒弃传统磁介质,采用电子存储介质进行数据存储和读取的一种技术,突破了传统机械硬盘的性能瓶颈,
拥有极高的存储性能,被认为是存储技术发展的未来新星。  
    固态硬盘的全集成电路化、无任何机械运动部件的革命性设计,从根本上解决了在移动办公环境下,对于数据读
写稳定性的需求。全集成电路化设计可以让固态硬盘
做成任何形状。与传统硬盘相比,SSD固态电子盘具有以下优点:  
第一,SSD不需要机械结构,完全的半导体化,不存在数据查找时间、延迟时间和磁盘寻道时间,数据存取速度快。
第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。  
第三,得益于无机械部件及FLASH闪存芯片,SSD没有任何噪音,功耗低。  
第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。同时因其完全半导体化,
无结构限制,可根据实际情况设计成各种不同接口、形状的特殊电子硬盘。

图示

Linux存储管理1


1.2 尺寸

分为3.5寸,2.5寸,1.8寸等

Linux存储管理1Linux存储管理1Linux存储管理1

1.3 插拔

热插拔,简单 比如说U盘 MP3 摄像头  那些 USB设备  
在电脑正常运行的时候  你可以 通过删除设备 将他们直接取下来
也可以在电脑正常运行时安装上去。

而非热插拔,也简单  比如说CPU 硬盘 内存。。
你不可能在电脑运行的时候 给他取下来吧...这样
若你直接取下来  电脑 硬件就会烧了的!  只能关机时取下来!

1.4 接口

早期的IDE——现在SATA I/II/III

早期服务器SISC——现在服务器SAS

序列式SCSI(SAS:Serial Attached SCSI)是一种电脑集线的技术,其功能主要是作为周边零件的数据传输,如:硬盘、CD-ROM等设备而设计的界面。序列式SCSI 由并行SCSI物理存储接口演化而来,是由ANSI INCITS T10技术委员会(T10 committee)开发及维护的新的存储接口标准。与并行方式相比,序列方式能提供更快速的通信传输速度以及更简易的配置。此外SAS并支持与序列式ATA(SATA)设备兼容,且两者可以使用相类似的电缆。

其他的还有PCIE FC等。

Linux存储管理1Linux存储管理1

1.5 转速

转速分为5400rpm,7200rpm,10000rpm,15000rpm

1.6 厂商

硬盘的主要厂商有西部数据,希捷,三星日立金士顿之类。

1.7 从存储连接方式(了解)

本地存储

外部存储 scs线  stat线 sas线 FC线

Linux存储管理1

                  scsi线缆图示

网络存储 以太网(iscsi,glusterFS,ceph) FC网络

1.8术语

盘片   一块硬盘有若干盘片,每个盘片有可以存储数据的上、下两盘面(Side)。这些盘面堆叠在主轴上高速旋转,它们从上至下从“0”开始依次编号。

柱面  所有盘面上的同一磁道构成一个圆柱,称作柱面

扇区  将一个盘面划分为若干内角相同的扇形,这样盘面上的每个磁道就被分为若干段圆弧,每段圆弧叫做一个扇区。每个扇区中的数据作为一个单元同时读出或写入。硬盘的第一个扇区,叫做引导扇区。

磁道  每个盘面被划分成许多同心圆,这些同心圆轨迹叫做磁道;磁道从外向内从0开始顺序编号。

图示

Linux存储管理1

1.9 命名

kernel对不同接口硬盘命名方式
    OS IDE(并口) SATA(串口) SCSI
    RHEL5 /dev/hda /dev/sda /dev/sda
    RHEL6 /dev/sda /dev/sda /dev/sda
    RHEL7 /dev/sda /dev/sda /dev/sda
    KVM /dev/vda(半虚拟化驱动)
          KVM增加硬盘
          半虚拟化驱动磁盘: online
          全虚拟化驱动磁盘: offline

    /dev/sda(全虚拟化驱动)

2.0 分区

MBR
    
MBR <2TB fdisk(4个主分区,扩展分区,逻辑分区)
    例如: 3主 + 1扩展(n逻辑)

    图示   

Linux存储管理1  

GPT
    GPT >    2TB gdisk(parted) 128个主分区
         GUID磁盘分区表(GUID Partition Table,缩写:GPT)
    注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!

2,创建RAID

      RAID 0:连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID 结构。RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0 不能应用于数据安全性要求高的场合。
      RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能。RAID1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写 ,而不需要重组失效的数据。简单来说就是:镜象结构,类似于备份模式,一个数据被复制到两块硬盘上。

      RAID10:高可靠性与高效磁盘结构一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充。主要用于容量不大,但要求速度和差错控制的数据库中。

      RAID5:分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。支持一块盘掉线后仍然正常运行。请参考《Linux就该这么学》使用RAID硬盘技术章节。

Linux存储管理1Linux存储管理1

真实服务器配置RAID : http://www.jb51.net/article/53814.htm

3,管理磁盘

3.1 添加磁盘

KVM增加硬盘
半虚拟化驱动磁盘: online
    Linux存储管理1    Linux存储管理1        
                
全虚拟化驱动磁盘: offline
VMWARE增加磁盘
1编辑虚拟机设置
 Linux存储管理1               
2增加磁盘
 Linux存储管理1              

3.2 管理磁盘流程三部曲

分区(MBR或者GPT) ---->文件系统 Filesystem ----> 挂载mount

3.3 查看磁盘信息

方法1
注意:kvm虚拟化磁盘vda,真实服务器上sda
[[email protected] ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 1月  25 09:35 /dev/sda
brw-rw----. 1 root disk 8,  1 1月  25 09:35 /dev/sda1
brw-rw----. 1 root disk 8,  2 1月  25 09:35 /dev/sda2
brw-rw----. 1 root disk 8, 16 1月  25 09:35 /dev/sdb
brw-rw----. 1 root disk 8, 32 1月  25 09:35 /dev/sdc
brw-rw----. 1 root disk 8, 48 1月  25 09:35 /dev/sdd
/dev/sdb和/dev/sdc相当于购买的新磁盘。
方法2          
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 10G 0 disk
vdc 252:32 0 8G 0 disk
名称 设备类型 序号 是否可移动设备  大小  是否只读  磁盘或分区  挂载点
注意
vmware的磁盘名称/dev/sda
kvm的磁盘名称/dev/vda

3.4 创建分区

fdisk(MBR)          
MBR 管理分区
创建分区
[[email protected] ~]# fdisk      /dev/sdb
n        //创建新分区
p        //主分区
1        //1号分区
回车    //起始扇区
+100M    //结束大小
w            //保存分区设置。
查看分区创建信息
# fdisk -l /dev/sdb
# partprobe /dev/sdb      //在有缓存的时候,刷新磁盘分区表。
[[email protected] ~]# fdisk -l /dev/sdb

磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x787eea5e

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      411647      204800   83  Linux
/dev/sdb2          411648     1026047      307200   83  Linux
/dev/sdb3         1026048     1435647      204800   83  Linux
/dev/sdb4         1435648     4194303     1379328    5  Extended
/dev/sdb5         1437696     1847295      204800   83  Linux
/dev/sdb6         1849344     2258943      204800   83  Linux
/dev/sdb7         2260992     4194303      966656   83  Linux
[[email protected] ~]#

不管是ll 还是fdisk,都能看到多个新分区,sdb1~sdb3是主分区,sdb4扩展分区,sdb5~7逻辑分区。

3.4 创建文件系统(格式化)centos7默认使用xfs

文件系统:储物柜;格子柜
方法一:# mkfs.ext4 /dev/sdb1

问题:未挂载的分区,如何查询文件系统
   Linux存储管理1             
                    
方法二:# mkfs.xfs /dev/sdb2(了解)
文件系统类型XFS和EXT4在后续章节讲解。在此使用哪种都可以。
后续的分区,如果使用,就必须格式化

3.5 挂载mount

方法一:手动挂载(重启失效)
创建挂载点,一个分区一个挂载点
# mkdir /mnt/disk1
# mkdir /mnt/disk2
# mount -t ext4  /dev/sdb1 /mnt/disk1(了解) //手动不推荐
# mount -t xfs  /dev/sdb2 /mnt/disk2 //手动不推荐
方法二:自动挂载(重启不失效)
第一步:查看分区的ID
# blkid
第二步:使用UUID来自动挂载分区
# vim /etc/fstab
UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" /mnt/disk1 auto defaults 0 0
UUID="4d26172c-7aff-4388-baa5-c6756c014d52" /mnt/disk2 ext4 defaults 0 0
分区信息   挂载点(文件夹)  文件系统类型   属性(默认)  压缩  检测
第三步:手动刷新
# mount -a

注意/etc/fstab中有固定格式
磁盘                   挂载点    文件系统        属性   备份  检测
/dev/vdb1   /mnt/disk1    xfs或者auto    default    0     0

3.6 查看挂载信息

方法1 df -hT
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb1 xfs 197M 48M 150M 24% /mysql_data
分区     文件系统   大小  占用  空闲  占比  挂载点
一般df看的是磁盘分区大小。
方法2 mount
          
[[email protected] ~]# mount
/dev/sdb1 on /mysql_data type xfs (rw,relatime,seclabel,attr2,inode64,noquoa)
/dev/sdb3 on /mnt/disk1/disk2/disk3/disk4 type ext4 (rw,relatime,seclabel,dta=ordered)
mount 看的是磁盘有没有特殊属性,具体属性在后续讲解。

3.7 磁盘管理方式2gdisk(了解)

本章后续使用的是fdisk 创建分区,gdisk做为了解部分。
====gdisk====

GPT 128个主分区
创建分区
# gdisk -l /dev/vdc
# gdisk /dev/vdc
# partprobe /dev/vdc
# ll /dev/vdc*
brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/vdc
brw-rw----. 1 root disk 253, 33 Jun 6 17:38 /dev/vdc1
brw-rw----. 1 root disk 253, 34 Jun 6 17:38 /dev/vdc2

格式化(略)
挂载 (略)
            

parted  /dev/sda        //分区管理工具
mklabel msdos          //将分区转为mbr
mklabel gpt                //将分区转为GPT

二,逻辑卷LVM

1, 目的:管理磁盘的一种方式,性质与基本磁盘无异

2, 特点:随意扩张大小,缩减大小,快照备份。

3, 流程

基本分区(MBR|GPT) ----> Filesystem ----> mount
逻辑卷        ----> Filesystem ----> mount

4, 工作原理

名词
PV:物理卷(Physical volume)
VG:卷组(Volume Group)
LV:逻辑卷(Logical Volume)
PE:物理块(Physical Extent)
LE:逻辑块(Logical Extent)

图示(可以放大看)

Linux存储管理1

             

5,创建LVM

5.1 准备物理磁盘

0. 准备物理磁盘(可以是: /dev/sdb /dev/sdc1 (建立在RIAD之上))
[[email protected] ~]# ll /dev/sd*
brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/sdc
brw-rw----. 1 root disk 253, 48 Jun 6 17:38 /dev/sdd
brw-rw----. 1 root disk 253, 64 Jun 6 17:38 /dev/sde
建议使用相同的磁盘名称。
如果再CENTOS6中,千万记得将分区类型更改为8E

5.2 pv

1 将物理磁盘,转换成物理卷-PV
[[email protected] ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created

查看PV信息                  
[[email protected] ~]# pvscan
PV /dev/vdd lvm2 [2.00 GiB]
Total: 1 [2.00 GiB] / in use: 0 [0 ] / in no VG: 1 [2.00 GiB]

[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdd lvm2 a-- 2.00g 2.00g

[[email protected] ~]# pvdisplay

5.3 vg

创建卷组-VG
[[email protected] ~]# vgcreate vg1 /dev/sdc
Volume group "vg1" successfully created
查看卷组信息
第一种方法,查看卷组的摘要信息。卷组名,物理卷数量,逻辑卷数量,大小等。
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- 2.00g 2.00g

第二种方法,扫描卷组信息。
[[email protected] ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg1" using metadata type lvm2


第三种方法。显示卷组详细信息。
[[email protected] ~]# vgdisplay
--- Volume group ---
VG Name vg1
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 2.00 GiB                    //重点观察
PE Size 4.00 MiB                    //重点观察
Total PE 511                        //重点观察
Alloc PE / Size 0 / 0
Free PE / Size 511 / 2.00 GiB
VG UUID 7E4tlj-l0a2-ph52-OytH-eaq7-58K6-2S4n8V

补充:vgcreate -s 10M vg1 /dev/sdb1 //表示创建卷组vg1并指定PE大小为10M

          lvcreate -l 5 lv1 vg1    // 创建逻辑卷lv1并指定块大小为5   也就是5个PE大小就是50M

5.4 lv

创建逻辑卷
[[email protected] ~]# lvcreate -L 200M -n lv2 vg1
指定大小,单位M,G

查看LV                   
[[email protected] ~]# lvscan
ACTIVE '/dev/vg1/lv1' [400.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [200.00 MiB] inherit

5.5 创建文件系统并挂载

方法一:手动挂载
创建文件系统

[[email protected] ~]# mkfs.ext4 /dev/vg1/lv2
创建挂载点
[[email protected] ~]# mkdir  /mnt/lv2
挂载
[[email protected] ~]#mount /dev/vg1/lv2 /lv2
查看挂载结果
[[email protected] ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg1-lv1 651948 32928 619020 6% /mnt/lv1
/dev/mapper/vg1-lv2 245671 2062 226406 1% /mnt/lv2

逻辑卷管理完毕,就可以向挂载点写入数据了。
方法二:自动挂载
vim /etc/fstab
/dev/vg1/lv1    /mysql_data     ext4    defaults 0 0
分区 挂载点 文件系统 属性 压缩 检测
mount -a

6,VG管理

6.1 ==扩大VG vgextend==

环境:/dev/vg1 容量由4G 扩容到 6G。
==扩大VG vgextend==
步骤1,创建PV。而后使用第二步,将PV增加到VG中。
[[email protected] ~]# pvcreate /dev/sdd1

步骤2:扩展VG,同时包含方法1.
[[email protected] ~]# vgextend vg1 /dev/sdd1
Volume group "vg1" successfully extended

扩容完成
查看VG
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 3.99g 3.76g

6.2 ==减小VG vgreduce==

警告

==减小VG ,命令虽少。但千万需要注意的是数据迁移。

环境介绍

卷组vg1
物理卷sdc,sdd1和sde(查看物理卷pvs命令)
sdc物理卷中有数据
为了避免vg缩减影响数据,请先将sdd中的数据移动到sde中。

查看当前的VG中PV的使用情况               

[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdc vg1 lvm2 a-- 2.00g 1.76g
/dev/sdd1 vg1 lvm2 a-- 2.00g 2.00g
/dev/sde vg1 lvm2 a-- 2.00g 2.00g
注意观察,PV的空间。一个是使用过的,一个是满的。

pvmove,会将sdd中的数据,移动到sde中

[[email protected] ~]# pvmove /dev/sdc
/dev/sdc: Moved: 16.7%
/dev/sdc: Moved: 100.0%
可以看到移动过程。

再次查看,空间已经发生变化

[[email protected] ~]# pvs
PV         VG     Fmt  Attr PSize   PFree
/dev/sda2  centos lvm2 a--  <19.00g     0
/dev/sdc   vg1    lvm2 a--   <2.00g <2.00g
/dev/sdd1  vg1    lvm2 a--   <2.00g  1.80g
/dev/sde   vg1    lvm2 a--   <2.00g <2.00g

vgreduce VG缩减。

[[email protected] ~]# vgreduce vg1 /dev/sdd
Removed "/dev/sdd" from volume group "vg1"

再次观察,VG中少了一个PV

[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 2 0 wz--n- 2.00g 1.76g
观察,PV的数量变少了。

7,LV扩容

扩大LV lvextend

1. lv扩容
1.查看VG空间。
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 1.88g 1.00g
请观察,VG是否有剩余空间。
2.扩容LV。
[[email protected] ~]# lvextend -L +200M /dev/vg1/lv2
增加200M空间,给lv2
查看LV                       
[[email protected] ~]# lvscan
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [300.00 MiB] inherit

观看LV大小已经发生改变。
如果希望缩减LV,1请注意数据保存。2使用lvreduce
 注意
xfs的lvm不支持缩容
Xfs filesystem shrinking is unsupported
2. FS扩容
先观察文件系统当前容量。
[[email protected] ~]# df -Th
/dev/mapper/vg1-lv2 ext4 240M 32M 192M 15% /mnt/lv2

. ext2/3/4文件系统扩容
[[email protected] ~]# resize2fs /dev/vg1/lv2
再次观察df -hT 的分区大小。和上一次的对比一下。大小已经发生改变。

查看FS
                        
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 765M 67M 698M 9% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
请注意对比,之前的输出结果,文件系统的大小发生改变。

如果您的文件系统,不是EXT4。那请用下列命令来更新XFS文件系统

xfs文件系统扩容请注意,不同的文件系统,扩容指令不同。
[[email protected] ~]# xfs_growfs /dev/vg1/lv1

减小LV lvreduce

减容注意事项(了解)
环境介绍
逻辑卷/dev/vg1/lv2,大小400M,并挂载到/mnt/lv2
需要先将lv卸载(umount),再进行减容操作。
1.首先查看磁盘使用情况
df -hT
注意分区大小400M
/dev/mapper/vg1-lv2     ext4      380M  2.3M  356M    1% /mnt/lv2
2、卸载
umount /dev/vg1/lv2
3、调整分区大小
e2fsck -f /dev/vg1/lv2
resize2fs -p /dev/vg1/lv2 200M
4、设置空闲空间,减容
lvreduce -L 200M /dev/vg1/lv2
5、挂载上/mnt/lv2,查看磁盘使用情况
mount /dev/vg1/lv2  /mnt/lv2/
df -h
    看到分区大小已经200M
     /dev/mapper/vg1-lv2     ext4      186M  1.6M  171M    1% /mnt

千万注意,不要对已经挂载的LV进行兼容,会损坏文件系统。
千万注意,缩减后的LV大小,要大于存储数据的大小。
(重新格式化才能用)

8, LVM快照snapshot

快照的目的
快速-------备份数据。
快照与备份
备份原理
备份窗口
数据一致性
快照技术
COW
ROW
1. 创建快照 (EXT4)
快照之前准备一些文件
1. 创建快照 卷(EXT4)
[[email protected] ~]# lvcreate -L 128M -s -n lv2-snap /dev/vg1/lv2
或者这样看呢,创建LV,名字lv2-snap,根据lv2进行快照,大小128M
lvcreate -n lv2-snap  -s /dev/vg1/lv2  -L 128M

2 查询快照卷大小。
[[email protected] ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m
lv2 vg1 owi-aos--- 512.00m
lv2-snap vg1 swi-aos--- 128.00m lv2 5.92
实验到这里就结束了。
注意:制作快照限制,受VG大小。
2.挂载快照卷,恢复数据(验证)
            
3 将快照卷挂载,拷贝出数据。可以用作回复数据使用了。
[[email protected] ~]# mkdir    /mnt/lv2-snap
[[email protected] ~]# mount -o ro /dev/vg1/lv2-snap /mnt/lv2-snap/

3. 查看Snapshot
1 查看两个卷的挂载情况。
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
/dev/mapper/vg1-lv2--snap ext4 488M 32M 429M 7% /mnt/lv2-snap

2 查看两个卷的关系
[[email protected] ~]# lvscan
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE Original '/dev/vg1/lv2' [512.00 MiB] inherit
ACTIVE Snapshot '/dev/vg1/lv2-snap' [128.00 MiB] inherit

3 查看文件内容。根据情况进行使用。
[[email protected] ~]# ls /mnt/lv2
etc lost+found
[[email protected] ~]# ls /mnt/lv2-snap/
etc lost+found

4. 观察Snapshot
[[email protected] ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m
lv2 vg1 owi-aos--- 512.00m
lv2-snap vg1 swi-aos--- 128.00m lv2 30.56
4.提示xfs文件系统快照注意事项
            
XFS:不识别uuid ,所以需要单独加上一个-o nouuid 来忽略掉。就可以使用xfs的快照了。
[[email protected] ~]# mount -o nouuid,ro /dev/vg1/lv1-snap /mnt/lv1-snap/
挂载快照,尽量使用ro的方式,将不会破坏快照卷中的数据

9、命令总结

看帮助,查文档,LVM命令一大堆。头疼记不住。
归类汇总
 Linux存储管理1           
 lvm卸载流程
1.umountFS
2.删除LV。
3.将PV从所在的VG中删除。
4.删除VG。
问题汇总
先删除pv,后删除vg时报错。
Volume group "vg1" not found, is inconsistent or has PVs missing.
vgreduce --removemissing --force vg1

三,交换分区管理Swap

1,简介

1.1 作用

 ‘提升‘ 内存的容量,防止OOM(Out Of Memory)

1.2 swap大小

推荐
设置交换分区大小为内存的2倍

生产
大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。

2,查看当前的交换分区

[[email protected] ~]# free      -m
total used free shared buff/cache available
Mem: 489 140 145 4 202 304
Swap: 0 0 0

[[email protected] ~]# swapon -s
当前系统中,没有swap。如果你的系统中有,请观察大小,后续实验会增加swap大小。

3,增加交换分区

类型
可以是分区或者LVM或者File

===分区/LVM===(方法一)
    ===分区===
1. 准备分区(准备将/dev/sde磁盘,划分为1G分区)
[[email protected] ~]# fdisk    /dev/sde (t转换分区的ID 82)
[[email protected] ~]# partprobe /dev/sde
[[email protected] ~]# ll /dev/sde*
brw-rw----. 1 root disk 253, 16 12月 6 10:18 /dev/sde
brw-rw----. 1 root disk 253, 17 12月 6 10:18 /dev/sde1

2.格式化
[[email protected] ~]# mkswap /dev/sde1

3.挂载
[[email protected] ~]# blkid /dev/sde1
/dev/sde1: UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" TYPE="swap"

[[email protected] ~]# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults 0 0

[[email protected] ~]# swapon -a (读取/etc/fstab)
[[email protected] ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1
===File===(了解 方法二)
    ===File===
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 10G 3.3G 6.8G 33% /

[[email protected] ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
或者
[[email protected] ~]# dd </dev/zero >/swap2.img bs=1M count=512

[[email protected] ~]# mkswap /swap2.img

[[email protected] ~]# vim /etc/fstab
/swap2.img swap swap defaults 0 0

由于文件型扩展SWAP会提示权限不够。所以扩大一下权限。
[[email protected] ~]# swapon -a
swapon: /swap2.img: insecure permissions 0644, 0600 suggested.
[[email protected] ~]# chmod 600 /swap2.img
[[email protected] ~]# swapon -a


[[email protected] ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1
/swap2.img file 524284 0 -2

4,对交换分区调整优先级[扩展]

关于swap优先级

swap分区的优先级(Priority)从高到低依次使用,最高32767,最低优先级是0
这样设置使得Linux并行的使用优先级相同的swap分区(Priority = 1的分区),这会大幅的提高对swap的读写。当这些分区满了,就会使用较低优先级swap分区(Priority = 0的分区)

设置swap优先级

多个交换分区分布在不同的磁盘
挂载时,使用相同的优先级

[[email protected] ~]# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults,pri=1 0 0
UUID="ea5b1c77-e540-465c-9644-0d75457f8b45" swap swap defaults,pri=1 0 0
pri是优先级的意思,设置相同即可。

[[email protected] ~]# swapon -a
[[email protected] ~]# swapon -s
Filename Type Size Used Priority
/dev/sdb1 partition 524284 0 1
/dev/sdc1 partition 524284 0 1










相关文章: