磁盘管理
- 1、磁盘简介
- 1.1 磁盘接口类型
- 1.2 磁盘分区类型(MBR和GPT)
- 2、磁盘管理
- 2.1 查看磁盘信息命令
- 2.2 给服务器挂载新硬盘
- 2.2.1、创建分区
- 2.2.2、创建文件系统(格式化)
- 2.2.3、挂载
- 2.2.4、扩展分区和逻辑分区
- 3、逻辑卷LVM
- 3.1、LVM概念
- 3.2、新建LVM并挂载
- 3.2.1、新建PV
- 3.2.2、新建VG
- 3.2.3、新建LV
- 3.2.4、扩容LV
- 3.3、扩容系统盘
1、磁盘简介
1.1 磁盘接口类型
IDE:133MB/s,并行接口,早期家用电脑。
SCSI:640MB/s,并行接口,早期服务器。
SATA(常用):6Gbps,SATA数据端口与电源(长的电源,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线。
SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。
M.2接口。
光纤接口。
1.2 磁盘分区类型(MBR和GPT)
现在所接触的,基本都是MBR分区,咱们博客讲的都是MBR分区。
MBR分区只能分4个分区,一个分区表占16字节
分区分类:主分区,扩展分区,逻辑分区
主分区:可以直接使用,用来安装操作系统或存储文件等
扩展分区:不可以直接使用,需要在划分逻辑分区,可以使分区超过四个
逻辑分区:存在扩展分区内,可以直接使用,用来存储文件,分区的序号从5开始
2、磁盘管理
2.1 查看磁盘信息命令
#查看磁盘分区结构和挂载目录,查看磁盘分区文件系统是不是lvm
lsblk
#查看磁盘信息
fidsk -l [磁盘设备]
#对磁盘分区
fdisk device
#查看各个硬盘使用情况
df -h
2.2 给服务器挂载新硬盘
挂载新硬盘分三步,1、创建分区 2、创建文件系统(格式化) 3、挂载
2.2.1、创建分区
1、先给虚拟机添加一块硬盘,如果是实际服务器,直接把硬盘插入到服务器上就行。如果是云主机,直接挂载个硬盘到云主机上就行。我们是用本地安装的虚拟机模拟添加硬盘。
如下图,点完添加后,选择硬盘,然后一直下一步就行,添加完记得重启虚拟机才生效。
2、执行lsblk可以查看刚刚添加的硬盘
3、执行fdisk /dev/sdc,开始对/dev/sdc盘进行分区
4、输入n,新建分区;
输入p,新建主分区;
分区号,回车,默认就行;
起始 扇区 回车,默认就行;
Last 扇区 输入+200M,表示该盘分出200M,设计单位有{K,M,G}。如果不输入,默认分该 盘所有的大小;
输入t,设置分区类型ID,常用的有 83 默认的linux类型,82 SWAP,8e LVM,fd RAID,
下面图中,我没输入t,因为默认是83,如果改的话,输入t,然后输入需要改的分区ID即可;
输入p,查看当前分区情况;
输入w,表示保存,上面操作剩下,输入q表示退出,上面操作都不剩下;
最后,还需要输入命令:partprobe /dev/sdc,表示将分区表信息手动写入内核;
2.2.2、创建文件系统(格式化)
格式:mkfs -t 文件系统类型 分区设备
示例:mkfs -t ext4 /dev/sdc1
创建文件系统的另一种写法:mkfs.ext4 /dev/sdc1
输入blkid /dev/sdc1,查看该盘的文件系统类型。
已经设置成ext4 怎么修改成xfs
mkfs.xfs -f /dev/sdc1
2.2.3、挂载
mount -t xfs /dev/sdc1 /mnt/test/
2.2.4、扩展分区和逻辑分区
上面2.2.1创建分区,创建的是主分区,MBR只能有四个主分区,其实肯定也够用了,项目中如果让你给服务器挂个磁盘,一份分区时,分一个区就可以了。 但是如果规划的分区,大于4个,MBR也支持,那就是新建个扩展分区,在扩展分区下,在建逻辑分区,就可以了。
下图步骤:新建扩展分区,记得扩展分区的其实和结束扇区,都默认即可。
3、逻辑卷LVM
3.1、LVM概念
简单的说,LVM技术,就是可以动态的给盘符扩容。比如linux系统盘不够用了,需要扩容,只有分区类型是LVM的,才支持扩容。
LVM中的几个概念:
物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
卷组(Volume Group,VG):卷组,建立在PV之上,可以含有一个到多个PV。
逻辑卷(Logical Volume,LV):逻辑卷,建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。
通俗的讲,把一个或者多个PV加入到VG里,然后LV从VG里拿空间用,LV的空间不够用了,可以扩容,扩容的前提是VG里有空间,如果VG没空间,就新建PV加入到VG里。
3.2、新建LVM并挂载
3.2.1、新建PV
命令:pvcreate 硬盘或者分区。
解读,后面可以直接跟未格式化的硬盘,或者已经分号的分区,比如pvcreate /dev/sdc 或者pvcreate /dev/sdc1
#新建PV
pvcreate /dev/sdc9
#查看PV
pvs
3.2.2、新建VG
命令:vgextend vg名称 新建PV时的硬盘或者分区。
#新建VG
vgextend vg1 /dev/sdc9
#查看vg
vgs
3.2.3、新建LV
命令:lvcreate -L 100M -n lv1 vg1
解读,-L 跟新建的LV的大小100M,单位可以改成G。
-n 后跟lv名称 空格 vg名称。
#创建lv
lvcreate -L 100M -n lv1 vg1
#查看lv
lvs
创建完lv后,就相当于创建完一个分区了,只不过这个分区可以扩展。
后面要做格式化和挂载操作
mkfs.ext4 /dev/vg1/lv1
mount /dev/vg1/lv1 /mnt/test1
3.2.4、扩容LV
上面新建的LV,实际只有100M,我们给扩容下操作。
1、先查看lv1对应的vg是否有空间。如下图,发现还有96M空闲,但是咱们准备给它扩200M。VG空间空间不够200M,那就新建PV,然后加入到VG。
2、新建PV,然后加入到VG。
#新建PV
[root@localhost opt] pvcreate /dev/sdc10
#把新建PV加入到vg1
[root@localhost opt] vgextend vg1 /dev/sdc10
#查看vg的大小,发小空闲空间增加了200M
[root@localhost opt] vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 3 0 wz--n- <59.00g 4.00m
vg1 2 1 0 wz--n- 392.00m 292.00m
执行扩容命令,重点操作:
#给lv1扩容200M
lvextend -L +200M /dev/vg1/lv1
扩容后,执行df -hT会发现容量没生效。
需要执行下resize2fs /dev/vg1/lv1。就生效了
3.3、扩容系统盘
项目中用到的最多的就是扩容系统盘了。
如果会了3.2.4、扩容LV, 扩容系统盘也就会了。有时间在写吧。