Linux磁盘管理及LVM讲解(week2_day2)

 

硬盘接口

  从整体的角度上,硬盘接口分为IDE、SATA、SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价格昂贵。

硬盘种类

  SATA硬盘:用SATA接口的硬盘又叫串口硬盘,是以后PC机的主流发展方向,因为其有较强的纠错能力,错误一经发现能自动纠正,这样就大大的提高了数据传输的安全性。新的SATA 使用了差动信号系统"differential-signal-amplified-system"。这种系统能有效的将噪声从正常讯号中滤除,良好的噪声滤除能力使得SATA只要使用低电压操作即可,和 Parallel ATA 高达5V的传输电压相比,SATA 只要0.5V(500mv) 的峰对峰值电压即可操作于更高的速度之上。"比较正确的说法是:峰对峰值'差模电压'"。一般转速可达7200转/分。

  SCSI硬盘:SCSI硬盘即采用SCSI接口的硬盘。 优点:SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等。它由于性能好、稳定性高,因此在服务器上得到广泛应用。缺点:由于SCSI硬盘价格非常昂贵,所以一般的PC是不会使用SCSI硬盘。 一般转速可达10000转/分。

SAS硬盘:SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。改善存储系统的效能、可用性和扩充性。 一般转速可达15000转/分,甚至更高。

分区符认识

MBR概述:全称为Master Boot Record,即硬盘的主引导记录。

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。

  它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。55AA这个数字四个字符却只占用2个字节,因此被称为“魔数”

分区编号:主分区1-4 ,逻辑分区5……

LINUX规定:逻辑分区必须建立在扩展分区之上,而不是建立在主分区上

分区作用:

主分区:主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上

扩展分区不能使用的,它只是做为逻辑分区的容器存在的,先创建一个扩展分区,在拓展分区之上创建逻辑分区;我们真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中。

注意:使用分区工具fdisk对磁盘进行操作,分区,格式化(重点)

注意:

主分区+扩展分区 最多只能有4个

扩展分区可以是0个,最多是1个

扩展分区不能直接使用,扩展分区必须首先创建成逻辑分区才能使用

逻辑分区可以是0个 1个 多个

[root@ken ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdc /dev/sdd /dev/sde

命名方式: /dev/sd[a-z]n

其中:a-z 表示设备的序号,如sda表示第一块scsi硬盘,sdb就是第二块......

n  表示每块磁盘上划分的磁盘分区编号

文件系统与数据资料

  用户在硬件存储设备中执行的文件建立、写入、读取、修改、转存与控制等操作都是依靠文件系统来完成的。文件系统的作用是合理规划硬盘,以保证用户正常的使用需求。Linux系统支持数十种的文件系统,而最常见的文件系统如下所示。

  Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。

  Ext4:Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。

  XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。

fdisk管理分区

参数

                作用                                  

m

                                                       查看全部可用的参数                                                                

n

添加新的分区

d

删除某个分区信息

l

列出所有可用的分区类型

t

改变某个分区的类型

p

查看分区表信息

w

保存并退出

q

不保存直接退出

fdisk:磁盘分区,是Linux发行版本中最常用的分区工具

用法:fdisk [选项] device

常用的选项: -l 查看硬盘分区表

案例:在sdb盘上建一个分区,大小为100M

在虚拟机上添加一块硬盘

第一步:查看磁盘 (ls  /dev/sd*)

[root@ken ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb

第二步:对sdb划分一个100M的空间

[root@ken ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x52997d99. Command (m for help): n #创建一个新的分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): #默认主分区,直接回车
Using default response p
Partition number (1-4, default 1): #默认为第一个分区编号,直接回车
First sector (2048-41943039, default 2048): #默认第一个扇区开始位置,直接回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +100M #选择大小,前面要使用加号
Partition 1 of type Linux and of size 100 MiB is set Command (m for help): P #查看已经分好的磁盘 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x52997d99 Device Boot Start End Blocks Id System
/dev/sdb1 2048 206847 102400 83 Linux Command (m for help): w #w退出保存,q退出不保存
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.

partprobe

新建之后,如果ls   /etc/sd* 还是没找到新添加的分区时候,用partprobe内核重新读取分区表,手动检查新建分区。

格式:partprobe   新建磁盘  (注意这个命令是用于同步分区)

例如  partprobe   /dev/sdb1

第三步:格式化(格式化其实就是给新建分区安装文件系统)mkfs( MaKe FileSystem)只是Linux下可用的各种文件系统构建器(mkfs.fstype)的前端

新的磁盘分区使用之前必须先格式化mkfs.ext4  /dev/sdb1

[root@ken ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729 Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

第四步:挂载使用(先新建一个空目录,用于挂载,因为挂载点必须指向目录)

执行命令:mkdir  filename

mount  文件路径

[root@ken ~]# mkdir /part
[root@ken ~]# mount /dev/sdb1 /part
[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.2G 16G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 93M 1.6M 85M 2% /part

第五步:写入到配置文件中,开机自启

命令:

  echo  "磁盘     挂载点    文件系统类型     defaults     0         0

  echo  "/dev/sdb1  /part  ext4 defaults  0  0 "  >> /etc/fstab

[root@ken ~]# echo "/dev/sdb1 /part ext4 defaults 0 0" >> /etc/fstab 

/dev/sdb1

/sdb1

xfs

defaults

0

0

要挂载的分区设备

挂载点

文件系统类型

挂载选项

是否备份

是否检测

将上述命令,挂载命令用vim写入文件/etc/fstab,然而开机之后需要重新挂载。

执行命令:mount  -a ,会自动将/etc/fstab文件中未挂载的全部挂载。

但是会出现问题,当系统重启时候,容易起不来,难以完成重启。 

系统启动前面很快,后面就是卡那了

处理办法:

1、关机

2、开机,进入系统救援模式,首先在重新开机时当出现下面这个接界面时按esc进入到Boot Menu

 

执行命令:mount  -o  remount.rw  /sysroot

chroot  sysroot

vim  /etc/fstab

删除/etc/fstab文件中的最后一行,也就是代表刚刚写入挂载的那行。

然后重新退出,系统就可以重新启动了

  改良的办法,将上述命令写入/etc/rc.local,用vim打开编辑,如下图,但是有些时候,开机也没有启动/etc/rc.d/rc.local 里面的挂载命令,这时候是因为系统没找到这个命令,最好填写绝对路径,也就是

/usr/bin/mount    /dev/sdb5  /ken ,这样就可以了。

但是接下来要注意,要注意给/etc/rc.local执行权限。如图

 
 
 

但是为什么是给/etc/rc.d/rc/local 权限,而不是给我们写入的文件/etc/rc.local权限。因为/etc/rc.local是一个软链接。

先查看/etc/rc.d/rc.local的权限,然后赋予它执行权限,chmod  +x   /etc/rc.d/rc.local

之后重启就好了,以后开机也会自动挂载上去。不会出现系统起不来的情况。

添加交换分区

  SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。但由于交换分区毕竟是通过硬盘设备读写数据的,速度肯定要比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源。

交换分区的创建过程与前文讲到的挂载并使用存储设备的过程非常相似。在对/dev/sdb存储设备进行分区操作前,有必要先说一下交换分区的划分建议:在生产环境中,交换分区的大小一般为真实物理内存的1.5~2倍,为了让大家更明显地感受交换分区空间的变化,这里取出一个大小为5GB的主分区作为交换分区资源。在分区创建完毕后保存并退出即可:

第一步:划分5G大小的磁盘(fdisk    磁盘)

[root@ken ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them.
Be careful before using the write command. Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
Partition number (2-4, default 2):
First sector (206848-41943039, default 206848):
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-41943039, default 41943039): +5G
Partition 2 of type Linux and of size 5 GiB is set Command (m for help): P Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x52997d99 Device Boot Start End Blocks Id System
/dev/sdb1 2048 206847 102400 83 Linux
/dev/sdb2 206848 10692607 5242880 83 Linux Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@ken ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.
[root@ken ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb2

第二步:格式化操作

使用SWAP分区专用的格式化命令mkswap,对新建的主分区进行格式化操作:

[root@ken ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=92dbf6b7-4635-46a4-a813-0241098766d5

第三步:

使用swapon命令把准备好的SWAP分区设备正式挂载到系统中。我们可以使用free -m命令查看交换分区的大小变化

[root@ken ~]# free -h
total used free shared buff/cache available
Mem: 974M 89M 755M 7.6M 129M 735M
Swap: 2.0G 0B 2.0G [root@ken ~]# swapon /dev/sdb2
[root@ken ~]# free -h
total used free shared buff/cache available
Mem: 974M 93M 751M 7.6M 129M 731M
Swap: 7.0G 0B 7.0G

第四步:写入到配置文件中

[root@ken ~]# echo "/dev/sdb2 swap swap defaults 0 0" >> /etc/fstab

第五步:停止swap

使用swapoff可以停止swap

[root@ken ~]# free -h
total used free shared buff/cache available
Mem: 974M 93M 751M 7.6M 129M 731M
Swap: 7.0G 0B 7.0G
[root@ken ~]# swapoff Usage:
swapoff [options] [<spec>] Options:
-a, --all disable all swaps from /proc/swaps
-v, --verbose verbose mode -h, --help display this help and exit
-V, --version output version information and exit The <spec> parameter:
-L <label> LABEL of device to be used
-U <uuid> UUID of device to be used
LABEL=<label> LABEL of device to be used
UUID=<uuid> UUID of device to be used
<device> name of device to be used
<file> name of file to be used For more details see swapoff(8).
[root@ken ~]# swapoff -a
[root@ken ~]# free -h
total used free shared buff/cache available
Mem: 974M 88M 758M 7.6M 127M 737M
Swap: 0B 0B 0B

LVM逻辑卷管理器

实战场景:对于生产环境下的服务器来说,如果存储数据的分区磁盘空间不够了怎么办?

  答:只能换一个更大的磁盘。如果用了一段时间后,空间又不够了,怎么办?再加一块更大的?换磁盘的过程中,还需要把数据从一个硬盘复制到另一个硬盘,过程太慢了。

解决方案:使用LVM在线动态扩容

  逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷

组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。LVM的技术架构如图所示。

LVM常用的术语

  物理存储介质(The physical media):LVM存储介质可以是磁盘分区,整个磁盘,RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用

  物理卷PV(physical volume)  :物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷它可以用硬盘分区,也可以用硬盘本身;

  卷组VG(Volume Group)  :一个LVM卷组由一个或多个物理卷组成

  逻辑卷LV(logical volume)  :LV建立在VG之上,可以在LV之上建立文件系统

  PE(physical extents)  :PV物理卷中可以分配的最小存储单元,PE的大小是可以指定的,默认为4MB

  LE(logical extent)  : LV逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE的大小和PE是相同的,并且一一对应

部署逻辑卷

常用的LVM部署命令

功能/命令

物理卷管理                       卷组管理                          逻辑卷管理                                

扫描

            pvscan                         vgscan                               lvscan                     

建立

pvcreate vgcreate lvcreate

显示

pvdisplay vgdisplay lvdisplay

删除

pvremove vgremove lvremove

扩展

  vgextend lvextend

缩小

  vgreduce lvreduce

第一步:添加两块磁盘

第二步:让两块硬盘支持LVM技术

[root@ken ~]# pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.

第三步:创建卷组

[root@ken ~]# vgcreate ken /dev/sdb /dev/sdc
Volume group "ken" successfully created

第四步:创建逻辑卷

格式:lvcreate   -n(name)     逻辑卷名称    -L  容量    卷组名称

切割出一个100M的逻辑卷设备

这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。

  第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M生成一个大小为150MB的逻辑卷。

  另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为4MB。例如,使用-l 37可以生成一个大小为37×4MB=148MB的逻辑卷。

[root@ken ~]# lvcreate -n ken1 -L 100M ken
Logical volume "ken1" created.

第五步:把生成好的逻辑卷进行格式化

[root@ken ~]# mkfs.ext4 /dev/ken/ken1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729 Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

第六步:挂载使用

[root@ken ~]# mkdir /test1
[root@ken ~]# mount /dev/ken/ken1 /test1
[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.2G 16G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/ken-ken1 93M 1.6M 85M 2% /test1

Linux扩容逻辑卷ext4格式

第一步:卸载

[root@ken ~]# umount /test1

第二步:把ken1逻辑卷扩展到300M

[root@ken ~]# umount /test1
[root@ken ~]# lvextend -L 300M /dev/ken/ken1
Size of logical volume ken/ken1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
Logical volume ken/ken1 successfully resized.

第三步:检查磁盘完整性

[root@ken ~]# e2fsck -f /dev/ken/ken1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/ken/ken1: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks

第四步:重置硬盘容量

[root@ken ~]# resize2fs /dev/ken/ken1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/ken/ken1 to 307200 (1k) blocks.
The filesystem on /dev/ken/ken1 is now 307200 blocks long.

第五步:重新挂载

可以发现现在已经是300M了

[root@ken ~]# mount /dev/ken/ken1 /test1
[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.2G 16G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/ken-ken1 287M 2.0M 266M 1% /test1

Linux扩容逻辑卷xfs格式(常用)

1. xfs格式只能扩容,不能减小!

2. xfs格式无需卸载,支持在线扩容

第一步:创建一个逻辑卷并格式化为xfs格式

[root@ken ~]# lvcreate -n lv_xfs -L 300M ken
Logical volume "lv_xfs" created.
[root@ken ~]# mkfs.xfs /dev/ken/lv_xfs
meta-data=/dev/ken/lv_xfs isize=512 agcount=4, agsize=19200 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=76800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

第二步:挂载使用

[root@ken ~]# mount /dev/ken/lv_xfs /ken
[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.4G 16G 8% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/ken-lv_xfs 297M 16M 282M 6% /ken

第三步:在线扩容至600M

[root@ken ~]# lvextend -L 600M /dev/ken/lv_xfs
Size of logical volume ken/lv_xfs changed from 300.00 MiB (75 extents) to 600.00 MiB (150 extents).
Logical volume ken/lv_xfs successfully resized.
[root@ken ~]# xfs_growfs /dev/ken/lv_xfs
meta-data=/dev/mapper/ken-lv_xfs isize=512 agcount=4, agsize=19200 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=76800, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 76800 to 153600

第四步:查看磁盘信息

发现xfs格式的逻辑卷已经扩容至600M

[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.4G 16G 8% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/ken-lv_xfs 597M 16M 582M 3% /ken

Linux缩小逻辑卷

相较于扩容逻辑卷,在对逻辑卷进行缩容操作时,其丢失数据的风险更大。所以在生产环境中执行相应操作时,一定要提前备份好数据。另外Linux系统规定,在对LVM

逻辑卷进行缩容操作之前,要先检查文件系统的完整性(当然这也是为了保证我们的数据安全)。在执行缩容操作前记得先把文件系统卸载掉。

第一步:卸载

[root@ken ~]# umount /test1/

第二步:检查系统完整性

[root@ken ~]# e2fsck -f /dev/ken/ken1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/ken/ken1: 11/75088 files (9.1% non-contiguous), 15637/307200 blocks

第三步:大小重置

[root@ken ~]# resize2fs /dev/ken/ken1 200M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/ken/ken1 to 204800 (1k) blocks.
The filesystem on /dev/ken/ken1 is now 204800 blocks long.

第四步:缩小到200M

[root@ken ~]# lvreduce -L 200M /dev/ken/ken1
WARNING: Reducing active logical volume to 200.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce ken/ken1? [y/n]: y
Size of logical volume ken/ken1 changed from 300.00 MiB (75 extents) to 200.00 MiB (50 extents).
Logical volume ken/ken1 successfully resized.

第五步:重新挂载使用

[root@ken ~]# mount /dev/ken/ken1 /test1/
[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.2G 16G 7% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.7M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/mapper/ken-ken1 190M 1.6M 175M 1% /test1

Linux删除逻辑卷

第一步:取消挂载(unount    挂载点)

[root@ken ~]# umount /test1/

第二步:删除逻辑卷设备

[root@ken ~]# lvremove /dev/ken/ken1
Do you really want to remove active logical volume ken/ken1? [y/n]: y
Logical volume "ken1" successfully removed

第三步:删除卷组

[root@ken ~]# vgremove ken
Volume group "ken" successfully removed

第四步:删除物理卷

[root@ken ~]# pvremove /dev/sdb /dev/sdc
Labels on physical volume "/dev/sdb" successfully wiped.
Labels on physical volume "/dev/sdc" successfully wiped.

20190410Linux中磁盘管理及LVM(week2day1)的更多相关文章

  1. 【转载】Linux磁盘管理:LVM逻辑卷管理

    Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...

  2. Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用

    在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...

  3. Linux中磁盘管理与三剑客之awk初识

    昨日内容回顾 1.用两种方法实现 将文件中以 # 开头的行 把 # 去掉 sed -r 's/^ *#//g' /etc/fstab cat /etc/fstab | tr -d '^#' 2.将文件 ...

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

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

  5. 磁盘管理二-LVM相关内容

    1.基本概念 LVM:logical volume manager 逻辑卷管理器 LVM构成:物理卷PV,卷组VG(PE物理区域,最小存储单元),逻辑卷LV(LE逻辑区域,最小存储单元) 三者如下图所 ...

  6. linux磁盘管理系列-LVM的使用

    LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的LVM,分别是 LVM1,LVM2.LVM1是一种已经被认为稳定了几年的成熟产品,LVM2 是最新最好的LVM版本. ...

  7. Linux磁盘管理及LVM讲解

    硬盘接口 硬盘接口分为IDE.SATA.SCSI和SAS四种, IDE接口硬盘多用于家用产品中,也部分应用于服务器.不支持热添加,比较老. SCSI接口的硬盘则主要应用于服务器市场.linux. 而S ...

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

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

  9. Disk:磁盘管理之LVM和系统磁盘扩容

    简介 小伙伴们好,好久不见,今天想给大家介绍一下关于磁盘管理的方法和心得:磁盘管理可谓运维工作中的重要内容,主要包括磁盘的合理规划以及扩缩容 常用的磁盘管理方法为LVM(Logical Volume ...

随机推荐

  1. [LeetCode] Random Pick with Weight 根据权重随机取点

    Given an array w of positive integers, where w[i] describes the weight of index i, write a function  ...

  2. File类中的一些属性 添加删除文件夹

    import java.io.File; import java.io.IOException; public class FileD { public static void main(String ...

  3. aspose 生成word 简单的文档操作

    package aspose.com.word; import com.aspose.words.Document;import com.aspose.words.DocumentBuilder; p ...

  4. 小甲鱼零基础python课后题 P24 023递归:这帮小兔崽子

    0.使用递归写一个十进制转换为二进制的函数(要求“取2取余”的方式,结果与调用bin()一样返回字符串式). 答: def Dec2Bin(dec): temp = [] result = '' wh ...

  5. EF Core 相关的千倍性能之差: AutoMapper ProjectTo VS Mapster ProjectToType

    在前两天遇到 .NET Core 中 EF Core 的异步与同步查询的百倍性能之差(详情之前的博文)之后,这两天又遇到了 AutoMapper ProjectTo<T> 与 Mapste ...

  6. u-boot调试串口输出对应的系统函数

    接上Debug串口,启动机器,u-boot哗啦啦地打印一行行的字符.刚接触u-boot的时候,对机器后台做了什么,几乎一无所知. 如果要很有信心地定制出一个简单并且可靠的系统,或者快速完成一项新的任务 ...

  7. STA 463 Simple Linear Regression Report

    STA 463 Simple Linear Regression ReportSpring 2019 The goal of this part of the project is to perfor ...

  8. wordCount剖析Spark模型

  9. CentOS下软件安装与卸载常用命令总结

    最近在折腾CentOS 7操作系统,主要是下载安装文件以及解决各项依赖问题,现对此过程中用到的有效的CentOS命令进行汇总总结. 1. 安装与卸载软件:yum.rpm.wget命令 首先,在Cent ...

  10. iOS的签名机制

    1.从keychain里“从这证书颁发机构请求证书”,这样就在本地生成了一对公私钥,保存的CertificateSigningRequest就是公钥,私钥保存在本地电脑里. 2.苹果自己有一对固定的公 ...