Linux-磁盘管理

1.介绍
	文件系统:
		 Ext2:早期的格式,不支持日志功能    
	   Ext3:ext2改良版,增加了日志功能,是最基本且最常用的使用格式了        
	   Ext4:针对ext3系统的扩展日志式文件系统,是ext3文件系统的后继版本          
	   ReiserFS:也有日志功能,其特点是处理小档案时速度快。          
	   XFS:稳定与高效,在大小档案混合的系统里有优越的表现。          
	   JFS:特色是最不占用CPU资源,如果你的电脑老旧那么这是最好的选择。


2.操作命令
	mount挂载
		mount /dev/sdb2 /backup 将sdb2挂载到backup文件夹。
		-a 挂载所有在/etc/fstab中定义的文件系统,如果由疏漏的也会全挂载。
		-t 指定文件系统的类型:EXT3、ext4、XFS、SWAP、ISO9660等
	永久挂在:
		/etc/fstab:这个文件中包含着挂载所需的诸多信息项目,一旦配置好之后就能一劳永逸了。
		
	umount /dev/sdb2 卸载掉磁盘。

	fdisk:基于MBR的分区工具,GPT无法使用fdisk进行分区。
	fdisk -m 查看全部可用的参数
		n 添加新的分区
		d 删除某个分区信息
		l 列出所有可用的分区类型
		t 改变某个分区的类型
		p 查看分区信息
		w 保存并退出
		q 不保存直接退出		
	fdisk -l 列出所有安装的磁盘及其分区信息。
	fdisk /dev/sda 对sda磁盘进行分区操作。
	partprobe 更新分区信息
		/proc/partitions查看分区信息

	mkfs.xfs /dev/sdb1 格式化为xfs格式。

	df -h查看挂载和使用量。

	du [选项] [文件] 查看一个或多个文件占用了多大的硬盘空间
		du -sh /newFS/

	添加交换分区:所以只有当真实的物理内存耗尽后才会调用交换分区的资源。
		fdisk /dev/sdb 创建分区
		mkswap /dev/sdb2 使用SWAP分区专用的格式化命令mkswap,对新建的主分区进行格式化
		swapon /dev/sdb2 挂载
		free -m 查看swap分区的大小。
		
3.添加新磁盘示例
	1.创建分区
		fdisk /dev/sdb
			输入n回车    #添加新分区
			输入p回车    #表示主分区  e表示扩展分区
			输入1回车    #表示sdb1
			First    直接回车  #分区的起始柱面,保持默认
			last     直接回车  #分区的结束柱面,保持默认
			输入w保存          #保存磁盘分区。
			
			
	2.格式并指定磁盘类型
		mkfs.xfs /dev/sdb1   #格式化为xfs格式。
		mkfs.ext4 /dev/sdb1   #格式化为ext4系统格式。
		mount /dev/sdb1 /data  #此时磁盘就可以用了。
		
		以上两种都可以,至此新加磁盘就可以用了。

4.LVM磁盘
	4.1原理介绍
		物理卷[PV,Physical Volume]-->卷组[VG,Volume Group]-->逻辑卷[LV,Logical Volume]
			物理卷:处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列。
			卷组:卷组建立在物理卷之上,一个卷组可以包含多个物理卷,卷组创建之后也可以继续向其中添加新的物理卷
			逻辑卷:是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。
				逻辑卷是基本单元的倍数。
			基本单元[PE,Physical Extent]:物理扩展,创建VG时指定的。 -s 4M 8M 16M 32M
	4.2常用命令
		物理卷管理:
			扫描:pvscan  建立:pvcreate 显示:pvdisplay  删除: pvremove
		卷组管理:
			扫描:vgscan  建立:vgcreate 显示:vgdisplay  删除: vgremove 扩展:vgextend 缩小:vgreduce
		逻辑卷管理:
			扫描:lvscan  建立:lvcreate 显示:lvdisplay  删除: lvremove 扩展:lvextend 缩小:lvreduce

	4.3创建与管理
		2、vgcreate vg01 /dev/sdb /dev/sdc  创建卷组命名为vg01,并将pv加入到卷组。
			vgdisplay   查看vg系统详细
			vgs         查看vg系统略写
		3、lvcreate -n lv01 -L 2G vg01 创建逻辑卷lv01,大小为2G,用vg01卷组中的空间。
			lvdisplay   查看lv系统详细
			lvs           查看lv系统略写
		4、mkfs.ext4 /dev/vg01/lv01 格式化lv
		5、mount /dev/vg01/lv01 /mnt
	4.4拉伸与缩小
		1、查看VG中有足够的空闲空间。
			vgdisplay
		2、扩充lv逻辑卷
			lvextend -L +1G /dev/vg01/lv01  给lv01加1G的内存
			lvdisplay 查看
		3、resize2fs /dev/vg01/lv01   更新lv01系统大小
		4、df -h   查看大小
		
		拉伸一个卷组的大小
			1、pvcreate /dev/sdd   将sdd硬盘格式化成pv
			2、vgextend vg01 /dev/sdd   将新的pv更新到名为vg01的vg中。
			3、vgdisplay
		
		缩小一个逻辑卷LV。 必须先卸载逻辑卷
			1、umount /dev/vg01/lv01      卸载lv01逻辑卷
			2、e2fsck -f /dev/vg01/lv01   遇见错误直接修复不提示
			3、resize2fs /dev/vg01/lv01 1G   缩小lv01逻辑卷到1G的大小
			3、lvreduce -L -1G /dev/vg01/lv01 减小1G内存(指定缩小多少)
			4、lvdisplay 查看缩小后的
			5、mount /dev/vg01/lv01 /mnt  挂载缩小后的逻辑卷
		
		缩小一个卷组:从卷组中移除pv
			1.卸载lv01
				umount /dev/vg01/lv01

			2.缩减lv01
				e2fsck -f /dev/vg01/lv01    #执行系统文件检测
				lvreduce -L -1G /dev/vg01/lv01 #减小1G内存(大小根据实际情况缩减)

			3.移除PV的使用信息
				pvdisplay    #查看pv信息
					Free PE               22      #可用的PE
					Allocated PE          233     #已经用的PE
					
				pvmove /dev/sdd      #删除dev/sdd(自动将PE的使用率转移到其他pv上)

				pvdisplay /dev/sdd        #查看/dev/sdd信息。(如果成功Allocated PE为0)
				  Total PE              255
				  Free PE               255
				  Allocated PE          0
			  
			4.从VG01中删除/dev/sdd
				vgreduce vg01 /dev/sdd   #删除vg01中的/dev/sdd
					Removed "/dev/sdd" from volume group "vg01"

			5.挂载lv01
				mount /dev/vg01/lv01
	 4.5逻辑卷快照
		介绍
			LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。
			特点:
				快照卷的容量必须等同于逻辑卷的容量;
				快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
			vgdisplay 查看卷组信息
			1.使用-s参数生成一个快照卷,使用-L参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作。
				lvcreate -L 120M -s -n SNAP /dev/storage/vo
			2.在逻辑卷所挂载的目录中创建一个100MB的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了。
				dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M
			3.为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。
				umount /linuxprobe 卸载挂载目录
				lvconvert ——merge /dev/storage/SNAP
			4.只可使用一次,而且使用后即自动删除。
				mount -a
	4.6删除逻辑卷
		先取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。
			umount
			vim /etc/fstab
		1、lvremove /dev/vg01/lv01  先删除逻辑卷
		2、vgremove vg01   在删除卷组
		3、pvremove /dev/sdb   最后删除物理卷。

	4.7案例
		1.pvcreate /dev/sdb /dev/sdc 让新添加的两块硬盘设备支持LVM技术
		2.vgcreate storage /dev/sdb /dev/sdc 把两块硬盘设备加入到storage卷组中,然后查看卷组的状态。vgdisplay
		3.lvcreate -n vo -l 37 storage 切割出一个约为150MB的逻辑卷设备。
		4.mkfs.ext4 /dev/storage/vo 把生成好的逻辑卷进行格式化,然后挂载使用。
			挂载:
				mkdir /linuxprobe
				mount /dev/storage/vo /linuxprobe
		5.查看挂载状态,并写入到配置文件,使其永久生效。
			df -h 查看状态
			echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab
原文地址:https://www.cnblogs.com/qiandong/p/13610711.html