磁盘分区
磁盘分区有两种方式: MBR, GPT MBR: Master Boot Record,1982年,使用32位表示扇区数 ,分区不超过2T 分区时按柱面分区0 磁道0 扇区:512bytes 446bytes: boot loader 64bytes :分区表 16bytes: 标识一个分区 因此mbr分区只能有四个主分区 2bytes: 55aa(若没有此表示,会被系统认为是一个干净的硬盘) 分区时的要求: 4 个主分区;3主分区+1扩展(N个逻辑分区)
GPT分区
GPT:GUID patition table 支持128个 个 分区,使用64 位,支持8Z( 512Byte/block )64Z ( 4096Byte/block) 使用128 位UUID 区 表示磁盘和分区 GPT 分区表自动备份在头和尾两份,并有CRC 校验位 UEFI ( 统一扩展固件接口)硬件支持GPT,使操作系统启动 列出可用的磁盘设备: 图形化磁盘管理功能工具:点击“应用程序”-> “系统工具”-> “磁盘”或执行命令gnome-disks 管理分区: 列出块设备 blkid [root@laodneg777 ~]# blkid /dev/sr0: UUID="2015-12-09-22-36-30-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" /dev/sda1: UUID="7c25120e-2371-413d-b584-fdd695b96702" TYPE="xfs" /dev/sda2: UUID="f4406f6a-e495-45a0-a85e-3b059c0d3130" TYPE="xfs" /dev/sda3: UUID="19470291-724c-4f01-b6e1-7109ad22be1b" TYPE="xfs" /dev/sda5: UUID="c3460309-9e8c-4037-8684-4c6bdcabbacb" TYPE="swap" /dev/sdc: PTTYPE="dos" 创建分区使用: fdisk:创建MBR分区,也支持GPT,对于一块硬盘,最多只能管理15 分区 gdisk 创建GPT 分区 GNU parted高级分区操作(创建、复制、调整大小等等) partprobe:重新设置内存中的内核分区表版本
分区工具
分区工具: fdisk gdisk fdisk /dev/sdb gdisk /dev/sdb 类fdisk的GPT 分区工具 # fdisk -l [-u] [device...] 子命令: a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) 常用选项 p 显示分区列表 t 更改分区类型(system id号) n 创建新分区 d 删除分区 w 保存并退出 q 不保存并退出 同步分区表 查看内核是否已经识别新的分区: cat /proc/partations 通知内核重新读取硬盘分区表 新增分区用 partx -a -n M:N /dev/DEVICE kpartx -a /dev/DEVICE -f: force 删除分区用 partx -d -n M:N /dev/DEVICE centos6: –nr N-M CentOS 5 ,7: 使用partprobe partprobe [/dev/DEVICE]
parted
parted的操作都是实时生效的,要小心使用 用法: parted[选项]...[设备[命令[参数]...]...] parted /dev/sdb mklabel gpt|msdos parted /dev/sdb print parted /dev/sdb mkpart primary 1 200 (默认M) ) parted /dev/sdb rm 1 parted -l
文件系统
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构; 即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信 息的软件结构称为文件管理系统,简称文件系统。 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责 文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户 建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日 志,压缩,加密等。
文件系统类型
Linux 文件系统: ext2, ext3, ext4, xfs (SGI ), btrfs(Oracle ), reiserfs, jfs(AIX ), swap光盘:iso9660 Windows :fat32, ntfsUnix: FFS (fast ), UFS (unix ), JFS2 网络文件系统:NFS, CIFS 集群文件系统:GFS2, OCFS2 (oracle) 分布式文件系统:ceph, moosefs, mogilefs, glusterfs,Lustre RAW :未经处理或者未经格式化产生的文件系统
文件系统分类
根据其是否支持"journal" 功能: 日志型文件系统: ext3, ext4, xfs, ... 非日志型文件系统: ext2, vfat 文件系统的组成部分: 内核中的模块:ext4, xfs, vfat 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat Linux 的虚拟文件系统:VFS 查前支持的文件系统:cat /proc/filesystems
创建文件系统
mkfs命令: (1) # mkfs.FS_TYPE /dev/DEVICE ext4 xfs btrfs vfat (2) # mkfs -t FS_TYPE /dev/DEVICE -L 'LABEL': 设定卷标 创建 ext文件系统 mke2fs :ext系列文件系统专用管理工具 -t {ext2|ext3|ext4} -b {1024|2048|4096} -L 'LABEL' -j: 于 相当于 -t ext3 mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3 -i#:为数据空间中每多少个字节创建一个inode ;此大小不应该小于block 的大小 -N #:为数据空间创建个多少个个inode -I :一个inode 记录大小128---4096 -m #: 默认5%, 为管理人员预留空间占总空间的百分比 -O FEATURE[,...] :启用指定特性 -O ^FEATURE:关闭指定特性
文件系统标签
指向设备的另一种方法 与设备无关 blkid :块设备属性信息查看 blkid [OPTION]... [DEVICE] -U UUID:根据指定的UUID来查找对应的设备 -L LABEL:根据指定的LABEL来查找对应的设备 e2label :管理ext 系列文件系统的LABEL # e2label DEVICE [LABEL] findfs :查找分区 findfs [options] LABEL=<label> findfs [options] UUID=<uuid>
tune2fs
tune2fs :重新设定ext系列文件系统可调整参数的值 -l :查看指定文件系统超级块信息;super block -L 'LABEL' :修改卷标 -m # :修预留给管理员的空间百分比 -j: 将ext2 升级为ext3 -O: 文件系统属性启用或禁用, –O ^has_journal -o: 调整文件系统的默认挂载选项,–o ^acl -U UUID: 修改UUID号 dumpe2fs: -h :查看超级块信息(分组信息),分区用分组管理
文件系统检测和修复
常发生于死机或者非正常关机之后 挂载为文件系统标记为“dirty” fsck: File System Check fsck.FS_TYPE fsck -t FS_TYPE -a: 自动修复错误 -r: 交互式修复错误注意: FS_TYPE一定要与分区上已经文件类型相同; e2fsck :ext 系列文件专用的检测修复工具 -y :自动回答为yes -f :强制修复 此上两种修复方法必须在硬盘没有挂载的情况下!!!!!!!
挂载mount
挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为 卸载:为解除此关联关系的 过程 把设备关联挂载点:mount Point mount 卸载时:可使用设备,也可以使用挂载点 umount 挂载点下原有文件在挂载完成后会被临时隐藏 挂载点目录一般为空
挂载文件系统
用mount命令挂载文件系统 挂载方法:mount DEVICE MOUNT_POINT mount :通过查看/etc/mtab文件显示当前已挂载的所有设备 mount [-fnrsvw][-t vfstype][-o options]device dir device :指明要挂载的设备; (1) 设备文件:例如/dev/sda5 (2) 卷标:-L 'LABEL', 如 例如 -L 'MYDATA' (3) UUID, -U 'UUID'如 :例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e' (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs dir :挂载点 事先存在;建议使用空目录 进程正在使用中的设备无法被卸载
mount 常用命令选项
-t vsftype:指定要挂载的设备上的文件系统类型 -r: readonly ,只读挂载 -w: read and write, 读写挂载 -n: 不更新/etc/mtab ,相当于#mount -a :自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto 功能) -L 'LABEL': 以卷标指定挂载设备 -U 'UUID': 以UUID 指定要挂载的设备 -B, --bind: 绑定目录到另一个目录上查看内核追踪到的已挂载的所有设备: cat /proc/mounts -o options :( 挂载文件系统的选项) ,多个选项使用逗号分隔 async :异步模式 sync :同步模式, 内存更改时,同时写磁盘 atime/noatime :包含目录和文件 diratime/nodiratime :目录的访问时间戳 auto/noauto :是否支持自动挂载, 是否支持-a 选项 exec/noexec :是否支持将文件系统上运行应用程序 dev/nodev :是否支持在此文件系统上使用设备文件 suid/nosuid :不否支持suid 和sgid 权限 remount :重新挂载 ro :只读 rw: : 读写 user/nouser :是否允许普通用户挂载此设备,默认管理员才能挂载 acl :启用此文件系统上的acl 功能 Defaults :相当于rw, suid, dev, exec, auto, nouser, async
卸载命令
查看挂载情况: #findmnt MOUNT_POINT 查看正在访问指定文件系统的进程: #lsof MOUNT_POINT #fuser -v MOUNT_POINT 终止所有在正访问指定的文件系统的进程: # fuser -km MOUNT_POINT 卸载: # umount DEVICE # umount MOUNT_POINT 挂载点和/etc/fstab 配置文件系统体系 被 被mount 、fsck 和其它程序使用 系统重启时保留文件系统体系 可以在设备栏使用文件系统卷标 使用mount -a 命令挂载/etc/fstab中的所有文件系统
文件挂载配置文件
/etc/fstab 每行定义一个要挂载的文件系统; 要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序 要挂载的设备或伪文件系统: 设备文件、LABEL(LABEL="")、UUID(UUID="") 、伪文件系统名称(proc,sysfs) 挂载选项: defaults 转储频率: 0 :不做备份 1 :每天转储 2 :每隔一天转储 自检次序: 0 :不自检 1 :首先自检; 一般只有rootfs才用1
原创文章,作者:dxkboke,如若转载,请注明出处:http://www.178linux.com/41910