Linux磁盘挂载 挂载:将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行为。

卸载:解除挂载的关联关系的过程。

挂载点:挂载的目标位置。

linux中挂载使用命令:mount point

linux中卸载使用命令:umount 注意:挂载点下的原有文件,在被挂载以后会被临时隐藏。
mount [-fnrsvw] [-t vfstype] [-o options] device dir device:指明要挂载的设备 (1)设备文件:例如 dev/sda2 (2)卷标:-L LABEL
(3)UUID -U (4)伪文件系统名称:例如 proc dir:挂载点 注意:事先存在;建议使用空目录 正在被使用的目录无法被卸载 #常用选项: -t vsftype:指定要挂载的虚拟文件系统类型 -r readonly:只读挂载 -w read and write:读写挂载 -a auto:自动挂载所有支持自动挂载的设备(定义在/etc/fstab,且挂载选项中有“自动挂载”功能) -L LABELl:以卷标指定挂载设备 -U UUID:以UUID指定挂载设备 -B --bind:绑定目录到另一个目录上 -n 不更新到/etc/mtab:(默认更新) 查看内核追踪到的已挂载的所有设备:#cat /proc/mounts

	-o options:挂载文件系统的选项
			async:挂载时使用异步模式
			sync:同步模式:数据可靠性高,性能差
			atime/noatime:每一次访问文件都会更改访问时间戳/不更改访问时间戳(包含目录和文件)
			diratime/nodiratime:目录的访问时间戳,同上
			auto/noauto:是否支持自动挂载
			exec/noexec:是否支持将文件系统上应用程序运行为进程
			dev/nodev:是否支持在此文件系统上使用设备文件
			suid/nosuid:是否支持suid权限
			remount:重新挂载
			ro:只读
			rw:读写
			user/nouser:是否允许普通用户挂载此设备
			acl:是否启动此文件系统上的acl功能
													
注意:上述选项可多个使用,彼此使用逗号分隔
					默认挂载选项:defaults
					rw,suid,dev,exec,auto,nouser,and async

卸载命令:

					umount DEVICE
					umount MOUNT_POINT
					查看正在访问指定文件系统的进程
					fuser -v MOUNT_POINT
					终止所有正在访问指定文件系统的进程
					fuser -km MOUNT_POINT

挂载交换分区 启用:swapon

				swapon [OPTION] [DEVICE]
				-a:激活所有的交换分区
				-p:PRIORITY (指定优先级)

禁用:swapoff

				swapoff [OPTION] [DEVICE]

内存空间使用状态:

				free [OPTION]
				-m:以MB为单位
				-g:以GB为单位

文件系统空间占用等信息的查看工具:

				df:
							 -h:human-readble
							 -i:inodes instead of blocks
							 -p:以posix兼容的格式输出

查看某目录总体空间占用状态:

				du:
						du [OPTION] ...DIR
							 -h:human-readble
							 -s:summary

文件挂载的配置文件:etc/fstab 每定义一个要挂载的文件系统 要挂载的设备或者伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序 要挂载的设备或伪文件系统 设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc,sysfs) 挂载选项: defaults 转储频率 0:不做备份 1:每天转储 2:每隔一天转储 自检次序: 0:不自检 1:首先自检(一般只有rootfs才有) ... inode:index node,索引节点 地址指针: 直接指针 间接指针 三级指针 inode bitmap:对位标识每个inode空闲与否的状态信息 链接文件:

   硬链接:
						 不能够对目录进行
						 不能夸分区进行
						 指向同一个inode的多个不同路径,创建文件的硬链接即为inode创建新的引用路径,因此会增加其引用计数;
						 
		符号链接:
		         可以对目录进行;
		         可以跨分区;
		         指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数;
						 ln [-sv] SRC DEST
		-s:symbolic link
		-v: verbose

文件管理操作对文件的影响:
	文件删除:
	文件复制:
	文件移动:

Linux中的RAID(磁盘阵列)技术 特点:提高I/O能力(多个磁盘并行读写)、提高耐用性(磁盘冗余) RAID实现方式: 外接式磁盘阵列 内接式RAID(主板集成RAID控制器) software RAID 级别:多块磁盘组织在一起的工作方式有所不同

			 level
	RAID-0:0, 条带卷,strip; 
	RAID-1: 1, 镜像卷,mirror;
	RAID-2
	..
	RAID-5:
	RAID-6
	RAID10
	RAID01

RAID-0:

							特性:读写性能提升
												可用空间N*min(最小磁盘大小)
												无容错能力
												最少磁盘数:2+

RAID-1:

							特性:读性能提升,写性能略有下降
												可用空间:1*min(最小磁盘大小)
												有冗余能力
												最少磁盘数:2+

RAID-5:

							特性:读写性能提升
												可用空间:(N-1)*min(最小磁盘大小)
												有容错能力(一块磁盘)
												最少磁盘数:3+

RAID-6:

							特性:读写性能提升
												可用空间:(N-2)*min(最小磁盘大小)
												有容错能力(两块磁盘)
												最少磁盘数:4+

混合类型

RAID-10:(常用)

							先分成3组,先做RAID1再做RAID0
							特性:
												读写性能提升
												可用空间N*min(s1,s2...)/2
												有容错能力:每组镜像最多只能坏一块
												最少磁盘数:4+

RAID-01:

							先分成2组,先做RAID0再做RAID1

RAID-50、RAID-7(了解) JBOD:just a bunch of disks 功能:将多块磁盘的空间合并一个大的连续空间使用 可用空间:sum(s1,s2,...) CentOS 6上的软件RAID的实现: 结合内核中的md(multi devices) mdadm:模式化的工具

命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
					支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10; 

				模式:
					创建:-C
					装配: -A
					监控: -F
					管理:-f, -r, -a

				<raiddevice>: /dev/md#
				<component-devices>: 任意块设备


				-C: 创建模式
					-n #: 使用#个块设备来创建此RAID;
					-l #:指明要创建的RAID的级别;
					-a {yes|no}:自动创建目标RAID设备的设备文件;
					-c CHUNK_SIZE: 指明块大小;
					-x #: 指明空闲盘的个数;
					-D:显示raid的详细信息;
					mdadm -D /dev/md#

				管理模式:
					-f: 标记指定磁盘为损坏;
					-a: 添加磁盘
					-r: 移除磁盘

				观察md的状态:
					cat /proc/mdstat

				停止md设备:
					mdadm -S /dev/md#

			watch命令:
				-n #: 刷新间隔,单位是秒;

				watch -n# 'COMMAND'

注意:在Linux中做软RAID,需要修改磁盘格式为Linux raid auto(fd) LVM2:

LVM: Logical Volume Manager, Version: 2

dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块;
	/dev/dm-#

/dev/mapper/VG_NAME-LV_NAME
	/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
	/dev/vol0/root

pv管理工具:

	pvs:简要pv信息显示
	pvdisplay:显示pv的详细信息

	pvcreate /dev/DEVICE: 创建pv

vg管理工具:

	vgs
	vgdisplay

	vgcreate  [-s #[kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]
	vgextend  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]
	vgreduce  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]
		先做pvmove

	vgremove

lv管理工具:

	lvs
	lvdisplay

	lvcreate -L #[mMgGtT] -n NAME VolumeGroup

	lvremove /dev/VG_NAME/LV_NAME

扩展逻辑卷:

	# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
	# resize2fs /dev/VG_NAME/LV_NAME

缩减逻辑卷:

	# umount /dev/VG_NAME/LV_NAME
	# e2fsck -f /dev/VG_NAME/LV_NAME
	# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
	# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
	# mount

快照:snapshot

	lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

文件系统挂载使用: 挂载光盘设备: 光盘设备文件: IDE: /dev/hdc SATA: /dev/sr0

符号链接文件: /dev/cdrom /dev/cdrw /dev/dvd /dev/dvdrw

mount -r /dev/cdrom /media/cdrom umount /dev/cdrom

dd命令:convert and copy a file

	用法:
		dd if=/PATH/FROM/SRC of=/PATH/TO/DEST 
			bs=#:block size, 复制单元大小;
			count=#:复制多少个bs;

磁盘拷贝:

			dd if=/dev/sda of=/dev/sdb

备份MBR

			dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1

破坏MBR中的bootloader:

			dd if=/dev/zero of=/dev/sda bs=256 count=1

两个特殊设备:

		/dev/null: 数据黑洞;
		/dev/zero:吐零机;