Linux之磁盘管理篇
一. 硬盘设备
在Linux系统中一切都是文件,包括硬盘在内的硬件设备也不例外。
一般的硬盘设备都会是以"/dev/sd"开头的。而一台主机上可以有多块硬盘,因此系统采用a-p来代表16块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也极为特别:
主分区或者扩展分区的编号从1开始,到4结束;
逻辑分区从编号5开始。
以/dev/sd5这个设备文件名称为例,看一下其具体含义(如下图):
/dev/目录中保存的是硬件设备文件;sd是存储设备。
/dev/sda5:系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件。
二. 硬盘分区
2.1硬盘分区小知识
硬盘设备是由大量的扇区(硬盘最小的存储单位)组成的,每个扇区的容量为512字节。
第一个扇区是硬盘中最重要的,这里面保存着主引导记录(MBR)和分区信息表。我们以第一扇区为例,主引导记录需要占用446字节,分区表为64字节,结束符占用2字节;其中分区表每记录一个分区就需要16字节,如此看来,第一个扇区最多只有4个分区信息,这4个分区就是主分区。
2.1.1扩展分区
为了解决分区个数不够的问题,可以将第一个扇区的分区表中的16字节(原本要写入主分区信息)的空间拿来指向另外一个分区,这也是我们所说的扩展分区。也就是说,扩展分区其实不是一个真正的分区,更像是一个占用16字节分区表空间的指针------一个指向另外一个分区的指针。这样一来,就可以在扩展分区中创建出数个逻辑分区,从而实现大于4个分区的需求。
2.1.2 为什么分区:
磁盘主要的两个性能:磁盘大小,读写性能
优化I/O性能? 读写input??? output
实现磁盘空间配额限制
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统
分区缺点:
一旦分区无法修改大小
只能使用连续的空间
没有备份,冗余的功能
2.1.3 分区类型及区别
MBR?? 只能对2t 以下的盘进行分区,MBR分区需要依靠第一个扇区
GPT??? 可以对2t 以上的磁盘进行分区
2.2 实施分区
2.2.1 分区准备
在实现分区之前我们需要了解一些分区操作的命令
- 1) 分区前
- 先加硬盘,用lsblk查看,而有时候会看到新加的硬盘没有被识别,可以用以下的命令刷新
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) 分区后
- 查看分区及磁盘情况----------->???? lsblk
- 分区后可以用file命令查看文件的属性
系统没有把分区信息同步给Linux,需要重读分区表信息??? ---------- >???? partprobe? /dev/sdb?? 设备名???? 或者直接使用partprobe命令
如果用了这个命令还是无法解决问题,只能重启了。
2.2.2 项目实施
第一步:添加硬盘,并在终端查看系统识别硬盘的状况并进行刷新,具体效果如下图:
第二步:可以开始我们的主题啦,开始分区,并用file命令查看文件属性,具体效果如下图:
第三步:接下来我们就要对我们新建的分区建立文件系统,具体效果如下图:
第四步:在这里我选择使用永久挂载,将挂载信息按照指定格式写入/etc/fstab文件中,在这里格式内我们根据uuid挂载,尽量不要图省事用盘符挂载,具体效果如下图:
第五步:扩展分区与逻辑分区的项目实施,操作同上,只不过这里的的格式化文件系统是在逻辑分区进行的,具体效果如下图:
逻辑分区格式化,建立文件系统
永久挂载目录
至此,这个分区的实施和逻辑分区的实施就完成了。
三. LVM(逻辑卷管理卷)
3.1 LVM介绍
????????一般而言,在生产环培中无法精确地评估每个硬盘分区在日后的使用情况,因此会导致原先分配的硬盘分区不够用。比如,伴随着业务量的增加,用于存放交易记录的数据库目录的体积也随之增加;因为分析并记录用户的行为从而导致日志目录的体积不断变大,这些都会导致原有的硬盘分区在使用上捉襟见肘。而且,还存在对较大的硬盘分区进行精简缩容的情况。
????????我们可以通过部署 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 |
3.2 LVM项目实施
注:如果使用分区进行分卷,要先修改分区类型为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的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷,卷组,物理卷设备,这个顺序不可颠倒。具体效果如下图:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!