温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux磁盘管理及软raid使用方法

发布时间:2020-06-25 16:52:42 来源:网络 阅读:415 作者:huai251459 栏目:系统运维

一、磁盘的管理介绍

  1. 硬盘的格式:

硬盘分为两种格式MBR和GPT
MBR:在硬盘的0磁道0扇区上,该扇区大小为512个字节,专门用来存储MBR引导信息。
	MBR又分三部分:
		446个字节:存储boot loader,引导加载器
		64个字节:存储分区表,有多少个分区,每个分区从哪里开始再到哪里结束;其中每16个字节表示一个分区,因此,在MBR格式的硬盘上最多只能有四个主分区
		2个字节:前面信息的有效标识,结束标志。用四个16进制数表示为55aa,表示前510个字节是有效的,也就是说代表着分区是有效的,如果这两个值为空那么即使建立了分区也是不生效的。
	因为只有64个字节存放分区信息,所以MBR格式的硬盘上最多可分四个主分区,也可以划分三个主分区+一个扩展分区,扩展分区又可以划分多个逻辑分区;
	需要注意的是MBR最多支持2T的分区,超过2T的MBR识别不了,就需要GPT来实现
GPT:兼容MBR,最多可创建128个主分区,因为主分区数量够多,不在需要扩展分区,同时GPT也打破了MBR的最多2T分区的概念

磁盘管理常用的工具
MBR管理工具:fdisk
GPT管理工具:gdisk
高级管理工具:parted

2.fdisk:创建磁盘分区管理工具,MBR格式文件系统管理工具,对GPT格式的磁盘兼容性不好

fdisk -l:查看分区信息
fdisk /dev/device_name:管理磁盘的分区
fdisk创建分区会开启一个交互式窗口,其中有很多子命令
	m:查看可使用的命令有哪些
	p:显示当前磁盘的分区信息
	n:创建新分区
		p:为主分区
		e:为扩展分区
	d:删除分区
	w:保存分区信息并退出
	q:不保存分区信息退出
	t:修改分区的系统ID
	l:列出系统上所有的系统ID
	L:列出支持的所有分区类型或者是分区类型所代表的16进制的ID

3.gdisk:创建磁盘分区管理工具,GPT格式文件系统管理工具,和fdisk的操作基本相同

gdisk -l:查看分区信息
gdisk /dev/device_name
gdisk创建分区会开启一个交互式窗口,其中很很多命令
	?:显示支持的命令列表
	p:显示当前磁盘的分区信息
	n:创建新分区
	d:删除分区
	w:保存分区信息并退出
	q:不保存分区信息退出
	l:列出系统上所有的系统ID也就是所有的分区类型

4.parted:综合管理

用法:parted [选项]... [设备 [命令 [参数]...]...]
	parted /dev/sdb mklabel gpt|msdos:指定分区的类型
	parted /dev/sdb print:打印当前分区信息
	parted /dev/sdb mkpart primary 1 200 (默认M):进行分区primary(主分区)extended(扩展分区),logical(逻辑分区)
	parted /dev/sdb rm 1:删除分区,这个删除是根据分区号进行删除的
	parted –l   列出分区信息

正常我们在系统开机的情况下直接添加的硬盘,系统是不会识别的,使用下面的命令让系统重读硬盘信息

echo '- - -' > /sys/class/scsi_host/host0/scan:触发硬件重新识别硬盘

对于刚创建好的分区来说,系统并不会识别,需要手动识别也就是我们需要同步分区表

同步分区表
	查看内核是否已经识别新的分区
		cat /proc/partations
	centos6通知内核重新读取硬盘分区表
		新增分区用
		partx -a /dev/DEVICE:增加分区的选项,也就是对这个设备增加分区让增加的分区生效
		kpartx -a /dev/DEVICE -f: force(强制)
		删除分区用
		partx -d --nr M-N(分区的序号) /dev/DEVICE:删除分区
	CentOS 5,7: 使用partprobe:同步分区信息,将硬盘信息与内存中的分区信息
		partprobe [/dev/DEVICE]:进行同步不加设备默认就是刷新所有设备的分区信息,添加设备只刷新指定设备的分区信息
注意:现在使用的硬盘分区必须是硬盘中一块连续的空间

5.常见的文件系统分类

常用的Linux文件系统:
		ext2(Extended file system) :适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区
		ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复。它通常被用作通用的文件系统
		ext4:是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件(16TB)、最大1EB的文件系统,以及速度的提升(配合gpt使用)
		xfs:SGI,支持最大8EB的文件系统
		btrfs(Oracle), reiserfs, jfs(AIX), swap
光盘:iso9660
Windows:FAT32, exFAT,NTFS
Unix: FFS(fast), UFS(unix), JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2(oracle)
分布式文件系统: fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre

6.创建文件系统的工具:

mkfs命令
	第一种方式:直接使用以文件系统为后缀的命令mkfs.btrfs、mkfs.ext2、mkfs.ext4、mkfs.minix、mkfs.vfat、mkfs.cramfs、mkfs.ext3、mkfs.fat、mkfs.msdos、mkfs.xfs
	第二种方式:-t:指定文件系统类型
	-L:设定卷标,相当于注释
对于交换文件系统swap,有特定的工具,但是要将磁盘的系统ID改为8e
mkswap	/dev/device_name
blkid:查看指定设备的属性信息
	-U:根据UUID查找到对应的设备
	-L:根据卷标查找到对应的设备
tune2fs:调整文件系统的相关属性
	-l:查看超级块中的信息
	-L:设定或修改卷标
	-m:调整预留百分比
	-r:指定预留块数
	-o:设定默认挂在选项
	-c #:指定挂载次数达到#次后进行自检,0或-1为关闭此功能
	-i #:每次挂载多少天之后进行自检,0或-1为关闭此功能
dumpe2fs:显示文件系统属性信息
	-h:只显示超级块中的信息

文件系统的检测:
fsck:检查并修复Linux文件系统,修复完成后文件会变得不完整
	-t:指定文件系统类型
	-a:自动修复
	-r:交互式修复
e2fsck:专用于修复ext 系列的文件系统
	-y:对问题自定回复yes
	-f:强制检查
	-p:自动修复

7.超级块

作用是存储文件系统的大小,有多少是空的和已经填满的占多少,以及他们各自的总数和其他信息,要是用一个分区来访问数据,第一个就访问的是超级块,所以超级块如果坏了,那磁盘就基本没救了
超级块占用第一号物理块,是文件系统的控制块。
超级块是用存放元数据的,也就是从几到几是属于一个块的文件系统,比如大小,空闲块的数目,空闲块的索引表,空闲的iNode节点数目,空闲的iNode索引表等等。
为了防止超级块损坏,就需要对超级块进行备份,以便损坏时可以修复。

8.文件系统的挂载和卸载

挂载:将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为
卸载:为解除此关联关系的过程
mount:挂载工具
	格式:mount 设备 挂载点
根文件系统默认给定了临时挂载点:/mnt、/opt、/media
当然也可以挂载到别的目录,但是挂载目录必须事先存在,且最好为空目录,要不目录下文件将被隐藏;
常用的mount挂在选项:
	-t:指定文件系统类型
	-r:只读挂载,目录下内容只可以读
	-w:读写挂载,目录下内容可读可写,可修改
	-L label:以卷标方式指定设备,mount -L label 挂载点,很少用
	-U UUID:以UUID的方式指定设备,通常写在/etc/fstab文件中,常用
	-a:自动挂载/etc/fstab文件中的所有设备,会自动扫描,没有挂载的就会挂载,已经挂载的忽略
	-n:挂载时,不更新/etc/mtab文件
	-B:绑定到一个目录上
	-o option:mount的-o选项丰富多彩,定制很多可用的挂载选项;
		remount:重新挂载,在不卸载的情况下添加额外挂载选项
			ro:只读挂载
			rw:读写挂载
		async:异步I/O,数据写操作先在内存完成,然后在整体同步到磁盘上
		sync:同步I/O,数据一边写一边存到磁盘上
		atime/noatime:是否修改文件的访问时间,追求性格时可关闭,因为修改访问时间也会有写磁盘操作
		dirname/nodirname:是否修改目录的访问时间
		auto/noauto:设备是否支持自动挂载,mount -a选项
		dev/nodev:是否支持在此设备上使用设备文件
		exec/noexec:是否允许执行此设备上的二进制程序
		suid/nosuid:是否支持次设备上的文件拥有特殊权限
		user/nouser:是否支持普通用户挂在此设备
		acl:在此设备上是否支持使用ACL,centos7默认支持,之前的版本默认不支持
	挂载时可同时使用多选项,使用逗号隔开即可
	mount不加选项默认的挂载选项:
		rw,suid,dev,exec,auto,nouser,async
交换分区的挂载:
	swapon:启用swap分区
		-a:使/etc/fstab中,所有标记了'sw'的交换设备生效
		-s:显示系统上所有swap分区信息
		-p #:可指定优先级
	swapoff:禁用一个swap分区
		-a:禁用所有
	free:可查看内存和swap使用信息情况
		-m:以MB为单位显示
		-g:以GB为单位显示
卸载命令
	查看挂载情况
		findmnt MOUNT_POINT|device:确认是否是挂载点
	查看正在访问指定文件系统的进程
		lsof MOUNT_POINT
		fuser -v MOUNT_POINT
	终止所有在正访问指定的文件系统的进程
		fuser -km MOUNT_POINT:把使用此进程的所有目录全部关闭掉
	卸载
		umount DEVICE
		umount MOUNT_POINT

9.文件系统空间查看工具:df,du

df:列出文件系统的整体磁盘使用量	
	-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
	-k :以 KBytes 的容量显示各文件系统;
	-m :以 MBytes 的容量显示各文件系统;
	-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
	-H :以 M=1000K 取代 M=1024K 的进位方式;
	-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
	-i :不用硬盘容量,而以 inode 的数量来显示
du:检查磁盘空间使用量
	-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
	-h :以人们较易读的容量格式 (G/M) 显示;
	-s :列出总量而已,而不列出每个各别的目录占用容量;
	-S :不包括子目录下的总计,与 -s 有点差别。
	-k :以 KBytes 列出容量显示;
	-m :以 MBytes 列出容量显示;
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
	参数:
		if=文件名:输入文件名,默认为标准输入。即指定源文件。
		of=文件名:输出文件名,缺省为标准输出。即指定目的文件。
		bs=bytes:同时设置读入/输出的块大小为bytes个字节。
		count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
	常用就是以上四个
		例:dd if=/dev/zero of=/root/file1 bs=1 count=1G,会生成一个1G大小的文件
			dd命令可以测试磁盘的IO速率,以上例子就可看出
		
		ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
		obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
		cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
		skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
		seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
		conv=conversion:用指定的参数转换文件。
			ascii:转换ebcdic为ascii
			ebcdic:转换ascii为ebcdic
			ibm:转换ascii为alternate ebcdic
			block:把每一行转换为长度为cbs,不足部分用空格填充
			unblock:使每一行的长度都为cbs,不足部分用空格填充
			lcase:把大写字符转换为小写字符
			ucase:把小写字符转换为大写字符
			swab:交换输入的每对字节
			noerror:出错时不停止
			notrunc:不截短输出文件
			sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补

10.实现开机自动挂载

以上是临时挂载,重启则失效,要开机自动挂载就需要写到文件中,其实Linux要想永久保存配置,就是写成文件方式
/etc/fstab:文件内记录的条目对应不同的设备,系统启动后会读此文件,自动挂载文件中记录的设备
文件的格式:每一行为一个设备的挂载信息。
一行中的信息有:
	/etc/fstab每行定义一个要挂载的文件系统
	1、要挂载的设备或伪文件系统
		设备文件
		LABEL:LABEL=""
		UUID:UUID=""
		伪文件系统名称:proc, sysfs
	2、挂载点
	3、文件系统类型:ext4,xfs,nfs,none
	4、挂载选项:defaults ,acl,bind
	5、转储频率:0:不做备份 1:每天转储 2:每隔一天转储
	6、fsck检查的文件系统的顺序:允许的数字是0, 1, 和2
		0:不自检
		1:首先自检;一般只有rootfs才用
		2:非rootfs使用

二、软raid的介绍

1.什么是raid

        RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。

        RAID磁盘阵列(Redundant Array of Independent Disks),其特色是N台硬盘同时读取速度加快及提供容错性Fault Tolerant,所以RAID主要是解决访问数据的存储速度问题(Storage)不是备份问题(Backup Solution)。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。根据磁盘陈列的不同组合方式,可以将RAID分为不同的级别。磁盘阵列中针对不同的应用使用的不同技术,称为RAID level,而每一level都代表着不同技术,目前业界公认的标准是RAID 0~RAID 5。

2.raid的特性:

  • 扩大了存储能力 可由多个硬盘组成容量巨大的存储空间。

  • 降低了单位容量的成本 市场上最大容量的硬盘每兆容量的价格要大大高于普及型硬盘,因此采用多个普及型硬盘组成的阵列其单位价格要低得多。

  • 提高了存储速度 单个硬盘速度的提高均受到各个时期的技术条件限制,要更进一步往往是很困难的,而使用RAID,则可以让多个硬盘同时分摊数据的读或写操作,因此整体速度有成倍地提高。

  • 可靠性 RAID系统可以使用两组硬盘同步完成镜像存储,这种安全措施对于网络服务器来说是最重要不过的了。

  • 容错性 RAID控制器的一个关键功能就是容错处理。容错阵列中如有单块硬盘出错,不会影响到整体的继续使用,高级RAID控制器还具有拯救数据功能。

  • 对于IDE RAID来说,目前还有一个功能就是支持ATA/66/100。

3.raid的实现方式:

  • 外接式磁盘阵列:通过扩展卡提供适配能力

  • 内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置

  • 软件RAID:通过OS实现

4.raid的级别

raid级别:	
	raid-0:分布式存储数据
		读、写性能提升
		无容错能力
		最少磁盘数2,2+
		磁盘利用率100%

	raid-1:镜像式存储数据
		读性能提升、写性能略有下降
		有冗余能力
		最少磁盘数2,2N
		可用空间50%
	
	raid-5:
		读、写性能提升
		有冗余能力,允许最多一块磁盘损坏
		最少磁盘数3,3+
		可用空间 :N-1
	
	raid-6:
		读、写性能提升
		有容错能力,允许最多两块盘损坏
		最少磁盘数4,4+
		可用空间 :N-2
		
	raid-1 0 ===  raid-0 1	:先做1 在做0 或者 先做0 在做1
		读、写性能提升
		有容错能力。每组镜像最多只能坏一块
		最少磁盘数4,4+
		可用空间100%
		raid-10用的多
实现软件radio
	mdadm工具:为软件raid提供管理
			-V:版本信息
			-v:创建时详细信息
			-q:静默模式
		创建选项:-C
			-l:指定raid级别
			-n:设备的个数
			-a:yes|no,是否自动创建设备文件
			-c:指定chunk大小
			-x:指定空闲盘个数
		管理选项:--add
			-r:移除一个设备
			-f:模拟一个设备故障

5.创建一个软raid

要求:创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

创建raid1需要两块磁盘,这里选用sdb sdc做练习,空闲磁盘用sdd
首先使用fdisk工具将硬盘分区,id修改为raid

Linux磁盘管理及软raid使用方法

w保存分区信息sdc和sdd使用同样的操作创建分区因为时组织在一起使用,我们创建完raid之后再进行格式化,不需要单个磁盘格式化,创建raid并查看

Linux磁盘管理及软raid使用方法

写入文件系统

Linux磁盘管理及软raid使用方法

配置/etc/fstab文件实现开机自动挂载

Linux磁盘管理及软raid使用方法

Linux磁盘管理及软raid使用方法

6.清除软raid

Linux磁盘管理及软raid使用方法

Linux磁盘管理及软raid使用方法

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI