在Linux系统中一切都是文件,包括硬盘在内的硬件设备也不例外。
一般的硬盘设备都会是以"/dev/sd"开头的。而一台主机上可以有多块硬盘,因此系统采用a-p来代表16块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也极为特别:
主分区或者扩展分区的编号从1开始,到4结束;
逻辑分区从编号5开始。
以/dev/sd5这个设备文件名称为例,看一下其具体含义(如下图):
/dev/目录中保存的是硬件设备文件;sd是存储设备。
/dev/sda5:系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件。
硬盘设备是由大量的扇区(硬盘最小的存储单位)组成的,每个扇区的容量为512字节。
第一个扇区是硬盘中最重要的,这里面保存着主引导记录(MBR)和分区信息表。我们以第一扇区为例,主引导记录需要占用446字节,分区表为64字节,结束符占用2字节;其中分区表每记录一个分区就需要16字节,如此看来,第一个扇区最多只有4个分区信息,这4个分区就是主分区。
为了解决分区个数不够的问题,可以将第一个扇区的分区表中的16字节(原本要写入主分区信息)的空间拿来指向另外一个分区,这也是我们所说的扩展分区。也就是说,扩展分区其实不是一个真正的分区,更像是一个占用16字节分区表空间的指针------一个指向另外一个分区的指针。这样一来,就可以在扩展分区中创建出数个逻辑分区,从而实现大于4个分区的需求。
磁盘主要的两个性能:磁盘大小,读写性能
优化I/O性能 读写input output
实现磁盘空间配额限制
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统
分区缺点:
一旦分区无法修改大小
只能使用连续的空间
没有备份,冗余的功能
MBR 只能对2t 以下的盘进行分区,MBR分区需要依靠第一个扇区
GPT 可以对2t 以上的磁盘进行分区
在实现分区之前我们需要了解一些分区操作的命令
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
也可以为了方便设置别名,如下:
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
或者简单粗暴使用reboot命令进行重启
2) 分区
fdisk命令
作用:它提供了集添加,删除,转换分区等功能。不过和之前直接写到命令后面的参数不同,这条命令的参数是交互式的,因此在管理硬盘设备时十分方便,可以根据需求调整。
格式:fdisk [磁盘名称]
注:使用fdisk命令进行分区只适用于2t以下的硬盘进行,而gdisk命令才适用于2t以上的硬盘进行分区
参数 |
作用 |
m |
查看全部可用的参数 |
n |
添加新的分区 |
d |
删除某个分区信息 |
l |
列出所有可用的分区类型 |
t |
改变某个分区的类型 |
p |
查看分区类型 |
w |
保存并退出 |
q |
不保存直接退出 |
mkfs命令
作用:格式化分区,建立文件系统
格式:mkfs.文件类型名称 分区名称
如果硬件存储设备没有进行格式化,则Linux系统无法得知怎么在其上写入数据,因此,在对存储设备进行分区后还需要进行格式化操作。mkfs命令在Shell终端输入后,敲击两次用于补全命令的Tab键,会把常用的文件系统名称提示出来,如图:
mount命令
作用:(手动临时)挂载分区
格式:mount 文件系统 挂载目录
完成了存储设备的分区和格式化操作之后,接下来就是挂载并使用存储设备,也是使用硬件设备前的最后一步。首先创建一个用于挂载设备的挂载点目录,然后使用mount命令将存储设备与挂载点进行关联;最后使用df -h命令查看挂载状态和硬盘使用量信息。
对于较新的Linux系统来说,一般不需要使用-t参数来指定文件系统的类型,Linux系统会自动判断。而-a参数,它可以在执行后自动检查/etc/fstab文件中有无疏漏被挂载的设备文件,如果有就会自动进行挂载操作。
umount命令
作用:用于撤销已经挂载的设备文件
格式:umount [挂载点/设备文件]
一般不需要加其他额外的参数
/etc/fstab
格式:vim /etc/fstab
虽然按照上面的方法执行mount命令后就能立即使用文件系统了,但是系统在重启后挂载就会失效,也就是说我们需要每次开机后都要手动挂载一下,这样就会很麻烦。如果想要让硬件设备和目录永久的自动关联,就需要把挂载信息依照指定的填写格式"设备文件" "挂载目录" "格式类型" "权限选项" "是否备份" "是否自检"写入/etc/fstab文件中。
各个字段的含义:
字段 | 含义 |
设备文件 | 一般为设备的路径+设备名称,也可以写唯一识别码(UUID) |
挂载目录 | 指定要挂载的目录,需要挂载前创建好 |
格式类型 | 指定文件系统的格式,比如ext3,ext4,xfs,等 |
权限选项 | 若设置为defaults,则默认权限为rw,suid,dev,exec,auto,nouser,async |
是否备份 | 若为1则开机后使用dump进行磁盘备份,为0则不备份 |
是否自检 | 若为1则开机后自动进行磁盘自检,为0则不自检 |
3) 分区后
系统没有把分区信息同步给Linux,需要重读分区表信息 ---------- > partprobe /dev/sdb 设备名 或者直接使用partprobe命令
如果用了这个命令还是无法解决问题,只能重启了。
第一步:添加硬盘,并在终端查看系统识别硬盘的状况并进行刷新,具体效果如下图:
第二步:可以开始我们的主题啦,开始分区,并用file命令查看文件属性,具体效果如下图:
第三步:接下来我们就要对我们新建的分区建立文件系统,具体效果如下图:
第四步:在这里我选择使用永久挂载,将挂载信息按照指定格式写入/etc/fstab文件中,在这里格式内我们根据uuid挂载,尽量不要图省事用盘符挂载,具体效果如下图:
第五步:扩展分区与逻辑分区的项目实施,操作同上,只不过这里的的格式化文件系统是在逻辑分区进行的,具体效果如下图:
逻辑分区格式化,建立文件系统
永久挂载目录
至此,这个分区的实施和逻辑分区的实施就完成了。
一般而言,在生产环培中无法精确地评估每个硬盘分区在日后的使用情况,因此会导致原先分配的硬盘分区不够用。比如,伴随着业务量的增加,用于存放交易记录的数据库目录的体积也随之增加;因为分析并记录用户的行为从而导致日志目录的体积不断变大,这些都会导致原有的硬盘分区在使用上捉襟见肘。而且,还存在对较大的硬盘分区进行精简缩容的情况。
我们可以通过部署 LVM (Logical Volume Manager,逻辑卷管理器)f理器)来解决上述问题。问题。部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。LVMM最早应用在 IBMAIX系统上。它的主要作用是动态分配磁盘分区及调整磁盘分区大小,并且可以让多个分区或者物理硬盘作为一个逻辑卷(相当于一个逻辑硬盘)来使用。使用。这种机制可以让磁盘分区容量划分变得很灵活。
常用的LVM部署命令
功能/命令 |
物理卷管理 |
卷组管理 |
逻辑卷管理 |
扫描 |
pvscan |
vgscan |
lvscan |
建立 |
pvcreate |
vgcreate |
lvcreate |
显示 |
pvdisplay |
vgdisplay |
lvdisplay |
删除 |
pvremove |
vgremove |
lvremove |
扩展 |
vgextend |
lvextend |
|
缩小 |
vgreduce |
lveduce |
注:如果使用分区进行分卷,要先修改分区类型为8e,存在即合理,最好修改分区。用硬盘的话可以直接进行创建逻辑卷操作。
第一步:为了便于实验,我们利用新建的两个磁盘来进行该实验,还是如上,新添两块磁盘sdb,sdc,并进行相关操作,具体效果如下图:
第二步:依照上述表格中的命令进行分卷,首先建立物理卷,让新添加的两块硬盘设备支持LVM技术,具体效果如下图:
第三步:把两块硬盘设备加入到qagroup卷组中并查看卷组状态,具体效果如下图:
第四步:切割出一个名叫qa且35G大小的逻辑卷设备。这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位,第一种是以容量为单位,所使用的参数为 -L 。例如,用 -L 150M生成一个大小为150MB的逻辑卷。另外一种就是以基本单元的个数为单位,所使用的参数为 -l 。每个基本单元(PE)的大小默认是4MB。例如,使用 -l 37可以生成一个大小为37 x 4MB=148MB的逻辑卷。具体效果如下图:
第五步:把生成好的逻辑卷进行格式化,建立文件系统,然后永久挂载使用并查看挂载状态。
Linux系统会把LVM中的逻辑卷设备存放在/dev设备目录中,同时会以卷组的名称来建立一个目录,其中保存了逻辑卷的设备映射文件(即/dev/卷组名称/逻辑卷名称)。具体效果如下图:
第六步:逻辑卷扩容,先扩容卷组再扩容逻辑卷,具体效果如下图:
此时我们的扩容逻辑卷也已经完成了,至此,我们的建立逻辑卷,逻辑卷扩容的项目实施完成啦。
当生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷,卷组,物理卷设备,这个顺序不可颠倒。具体效果如下图: