Linux磁盘管理(二)
上一篇介绍了磁盘结构和分区结构,这一篇来介绍管理分区和管理文件系统
管理分区
1. 创建分区
(1)fdisk:创建MBR分区
fdisk -l [-u] [device...] 查看分区 fdisk /dev/sdb 管理分区 子命令: p 分区列表 t 更改分区类型 n 创建新分区 d 删除分区 v 校验分区 u 转换单位 w 保存并退出 q 不保存并退
fdisk创建分区时是交互式的,因此写入脚本时需要
echo -e "n\np\n1\n\n+1G\nw\n" | fdisk /dev/sdb
来实现非交互式创建分区
(2)gdisk: 创建GPT分区
gdisk创建分区与fdisk很相似
(3)parted:高级分区操作
parted的操作都是实时生效的,不再使用w保存操作,因此要小心使用
parted用法
parted [OPTION]... [DEVICE [COMMAND [PARAMETERS]...]...]
parted /dev/sdb mklabel gpt|msdos 创建gpt或者mbr磁盘 parted /dev/sdb print 打印sdb信息 parted /dev/sdb mkpart primary 1 200 创建主分区1,大小为200M(默认单位为M) parted /dev/sdb rm 1 删除分区1 parted –l 列出分区信息
也可以用交互式
2. 通知内核识别新分区
CentOS 5,7 : 使用 partprobe
CentOS 6使用 partx
- 新增分区用: partx -a /dev/DEVICE
- 删除分区用: partx -d --nr M-N /dev/DEVICE
查看内核是否已经识别新的分区: cat /proc/partations
列出分区 : lsblk
管理文件系统
1. 文件系统概述
(1)文件系统简介
- 文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统
- 从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等
查看系统支持的文件系统
[root@centos7 ~]# ls /lib/modules/`uname -r`/kernel/fs binfmt_misc.ko.xz cifs ext4 gfs2 mbcache.ko.xz nls udf btrfs cramfs fat isofs nfs overlayfs xfs cachefiles dlm fscache jbd2 nfs_common pstore ceph exofs fuse lockd nfsd squashfs
(2)文件系统类型
- Linux文件系统:ext2,ext3,ext4,xfs,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
- RAW:未经处理或者未经格式化产生的文件系统
根据其是否支持"journal"功能:
- 日志型文件系统: ext3, ext4, xfs, ...
- 非日志型文件系统: ext2, vfat
2. 创建文件系统
(1)mkfs命令
mkfs.FS_TYPE /dev/DEVICE mkfs -t FS_TYPE /dev/DEVICE -L 'LABEL': 设定卷标 -f :强制重建,如果这个设备已经分过其他格式的文件系统了
[root@centos7 ~]# mkfs.ext4 -L "mydata" /dev/sdb1
(2)mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4} -b {1024|2048|4096} block快大小 -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:关闭指定特性
[root@centos7 ~]# mke2fs -t ext4 -b 2048 -i 8192 -N 10000 -m 3 /dev/sdc1
3. 调整文件系统参数
(1)tune2fs:重新设定ext系列文件系统可调整参数的值
-l :查看指定文件系统超级块信息;super block -L 'LABEL':修改卷标 -m # :修预留给管理员的空间百分比 -j : 将ext2升级为ext3 -O : 文件系统属性启用或禁用,例如–O ^has_journal -o : 调整文件系统的默认挂载选项,例如–o ^acl -U UUID: 修改UUID号
(2)e2label:管理ext系列文件系统的LABEL
e2label /dev/sd# 查看卷标 e2label /dev/sd# 'LABEL' 重命名卷标
4. 信息查看
(1)blkid:块设备属性信息查看
blkid [OPTION]... [DEVICE] -U UUID: 根据指定的UUID来查找对应的设备 -L LABEL:根据指定的LABEL来查找对应的设备
(2)findfs:查找分区
findfs [options] LABEL=<label>
findfs [options] UUID=<uuid>
(3)dumpe2fs 查看文件系统信息,superblock信息及block group信息
-h :查看超级块,不显示block group而只显示superblock 与 tune2fs -l 一致
5. 文件系统检测和修复
发生于死机或者非正常关机之后,挂载为文件系统有几率标记为“no clean”
注意:一定不要在挂载状态下修复
(1)fsck
fsck.FS_TYPE DEVICE fsck -t FS_TYPE DEVICE -p: 自动修复错误 -r: 交互式修复错误
(2)e2fsck:ext系列文件专用的检测修复工具
e2fsck DEVICE
-y:自动回答为yes -f:强制修复