Linux中如何实现磁盘分区格式化?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中如何实现磁盘分区格式化?相关的知识,希望对你有一定的参考价值。
本文和大家分享的主要是linux 中磁盘分区格式化相关内容,一起来看看吧,希望对大家 学习linux有所帮助。
磁盘分区
分区格式的两种选择:MBR 和 GPT
分区命令:
parted的操作都是实时生效的,小心使用,主要是用于大于2T硬盘,支持MBR和GPT两种格式。
用法:parted [ 选项 ]… [ 设备 [ 命令 [ 参数
parted /dev/sdb mklabelgpt|msdos //选择分区格式
parted /dev/sdb print //查看分区
parted /dev/sdb mkpart primary 1 200 (默认 M ) // 分出一个 199M 的分区
parted /dev/sdb rm1 // 删除分区 1
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 1 1G
parted /dev/sdb print
parted /dev/sdb mkpart primary 1001 20G
parted /dev/sdb mkpart logical 20G 80G
parted /dev/sdb rm 1
gdisk 主要是去分GPT格式 (支持2T以上)
gdisk -l [-u] [device…]
子命令:
· p 分区列表
· t 更改分区类型
· n 创建新分区
· d 删除分区
· w 保存并退出
· q 不保存并退出
gdisk /dev/sdb
Command (? for help): n Partition number (3-128, default 3):3 First sector (34-419430366, default = 44042240) or{+-} size{KMGTP}: Last sector (44042240-419430366, default = 419430366) or {+-} size{KMGTP}: +20g Hex code or GUID (L to show codes, Enter = 8300): 一个 ID号,默认就好
Command (? for help): p Command (? for help):w 存盘退出
fdisk 分MBR格式(2T以下推荐使用)
fdisk -l [-u] [device…]
子命令:
· p 分区列表
· t 更改分区类型
· n 创建新分区
· d 删除分区
· w 保存并退出
· q 不保存并退出
fdisk /dev/sdb
Command (m for help): m Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select ( default p): p Partition number (1-4, default 1): 1 First sector (2048-419430399, default 2048): Last sector, +sectors or+ size{K,M,G} (2048-419430399, default 419430399):+1G( 必须严格区分大小写 )
Command (m for help): p Command (m for help): w
fdisk 实现非交互式分区:
echo -e "n\np\n1\n\n+1G\nw\n" |fdisk /dev/sdb
echo -e 激活转义符
· \a 发出警告声
· \n 回车
查看机器上有几个分区的方法:
· lsblk
· fdisk -l
· ls /dev/sd*
· cat /proc/partitions
· echo ‘- > /sys/class/scsi_host/host2( 可能不止一个 )/scan
同步分区信息:
cetos 5 或者 7 : partprobe -重新设置内存中的内核分区表版本
centos6 :
新增分区同步: partx -a /dev/sda
删除分区同步: partx -d –nr 7-8 /dev/sda
查工具来自哪个包:
yum list |grep xfs 找安装包
MBR 和 GPT 格式相互转换:
parted /dev/sdb mklabel msdos
注意:分区名称不稳定 分区同步问题 执行完每个命令一定要看下,验证下结果,再做下一步。
文件系统
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。
Linux 文件系统: ext2(Extended file system), ext3, ext4, xfs ( SGI ) , btrfs ( Oracle ) , reiserfs, jfs ( AIX ) , swap
光盘:iso9660
Windows : fat32, ntfs
Unix: FFS ( fast ) , UFS ( unix ) , JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2 ( oracle )
分布式文件系统:fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
RAW :未经处理或者未经格式化产生的文件系统
说明:
centos 7 默认 XFS
centos 6 默认 ext4
centos 5 默认
ext3ext2 与 ext3 相差一个日志功能( journal )
blkid 查看当前系统已有文件系统
创建文件系统
mkfs 命令:
mkfs.FS_TYPE/dev/DEVICE
[[email protected]: /root]# mkfs.ext4 /dev/sdb1 [[email protected]: /root]# blkid /dev/sdb1: UUID="fe5ae367-e43e-4a1e-b94e-43a472e3c941" TYPE="ext4"
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 :关闭指定特性
[[email protected]: /root]# mke2fs -t ext3 -b 4096 -L /mnt/sdb3 -i 8192 -m 3 /dev/sdb3
blkid :块设备属性信息查看
-U UUID: 根据指定的 UUID 来查找对应的设备
[[email protected]: /root]# blkid -U 7e927cef-2b89-4091-a5ec-6170b0fbedb3 /dev/sda6
-L LABEL :根据指定的 LABEL 来查找对应的设备
[[email protected]: /root]#mkfs.ext4 -L /mnt/sdb2 /dev/sdb2 // 给设备 /dev/sdb2 创建一个卷标 /mnt/sdb2
[[email protected]: /root]# blkid /dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a"TYPE="ext4" [[email protected]: /root]# blkid -L /mnt/sdb2
/dev/sdb2
e2label :管理 ext 系列文件系统的 LABEL
e2label DEVICE [LABEL]
[[email protected]: /root]# blkid /dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4" [[email protected]: /root]# e2label /dev/sdb2 /app/sdb2 [[email protected]: /root]# blkid /dev/sdb2: LABEL="/app/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"
findfs :查找分区
findfs[options] LABEL=
[ [email protected]: /root]# findfs LABEL="/app/sdb2" /dev/sdb2
findfs[ options] UUID=
[ [email protected]: /root]# findfs UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" /dev/sdb2
dumpe2fs:
· -h :查看超级块信息,不显示分组信息
[[email protected]: /root]# dumpe2fs /dev/sdb1
文件修复
· 常发生于死机或者非正常关机之后 挂载为文件系统标记为 “no clean” 注意:一定不要在挂载状态下修复
fsck: File System Check
fsck-t FS_TYPE
-p: 自动修复错误
-r: 交互式修复错误
FS_TYPE 一定要与分区上已经文件类型相同
e2fsck : ext 系列文件专用的检测修复工具
-y :自动回答为 yes
-f :强制修复
fsck /dev/sdb2 -y
注意:修复操作生产中慎用,尽量请专业公司来修复。
挂载
挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为
卸载: 为解除此关联关系的过程
把设备关联挂载点:mount Point
卸载时:可使用设备,也可以使用挂载点 umount
挂载点下原有文件在挂载完成后会被临时隐藏
挂载点目录一般为空
挂载前一点要先查看下挂载情况,一旦已经挂载某个设备的目录,一定不要去挂载其他设备,不然以前目录下设备的文件被隐蔽工程,导致以前目录中文件无法访问,严重话可能会导致部分服务宕机。
用mount 命令挂载文件系统
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 /dev/sdb1 /mnt/sdb1 // 挂载 # df // 查看 /dev/sdb1 999320 2564 927944 1% /mnt/sdb1
mount 常用命令选项
· -t vsftype :指定要挂载的设备上的文件系统类型
· -r: readonly ,只读挂载
· -w: read and write, 读写挂载
· -n: 不更新 /etc/mtab , mount 不可见(隐藏挂载,只能使用 cat /proc/mounts )
· -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, nosuid, dev, exec, auto, nouser, async
查看挂载情况:
#findmntMOUNT_POINT
查看正在访问指定文件系统的进程:
#lsofMOUNT_POINT #fuser -v MOUNT_POINT
终止所有在正访问指定的文件系统的进程:
#fuser -km MOUNT_POINT
取消挂载卸载:
#umountDEVICE #umountMOUNT_POINT
查看挂载关系
#mount
#cat /etc/mtab
cat /proc/mounts //隐藏挂载也可以看到
文件挂载配置文件
/etc/fstab 每行定义一个要挂载的文件系统;
#cat /etc/fstab UUID=6ef6b1fe-1da4-406f-a028-3530d277e279 / ext4 defaults 1 1
从左到右依次解释:
· 要挂载的设备或伪文件系统
· 挂载点
· 文件系统类型
· 挂载选项
· 转储频率
· 自检次序
· 要挂载的设备
目录挂目录的配置文件写法:
/boot /mnt/boot none bind 0 0
文件挂文件的配置文件写法:
/root/partfile /mnt/ file ext4 loop 0 0
生效: mount -a
重新挂载某个设备:
mount -o remount /mnt/sdb1
处理交换文件和分区
交换分区是系统RAM 的补充
基本设置包括:
创建交换分区或者文件:
分区完需要改ID 为 82 ,默认为 83 ,按 t 更新, L 可以查看可以更改的类型。
使用mkswap 写入特殊签名
[[email protected]: /root]# mkswap /dev/sdb5 -L swap2
? 在 /etc/fstab 文件中添加适当的条目
vim /etc/fstab
:r!blkid //vim 下读取某个分区的 UUID UUID=09149535-ae7e-4b41-bba7-917aa8d1cc19 /mnt/swap2 swap defaults 0 0
? 使用 swapon -a 激活交换空间
[[email protected]: /root]# swapon -a // 重新读取配置文件生效
· swapon -s 查看谁提供 swap
来源: 运维部落
以上是关于Linux中如何实现磁盘分区格式化?的主要内容,如果未能解决你的问题,请参考以下文章