1.4.1 fdisk分区:
小于2TB存储磁盘, 可选分区工具fdisk
//生产分区建议: 如无特殊需求, 直接使用整个磁盘即可, 无需分区
//学习分区建议:1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)
[[email protected] ~]# fdisk -l
[[email protected] ~]# fdisk /dev/sdb
Command (m for help): m //输入m列出常用的命令
Command action
a toggle a bootable flag //切换分区启动标记
b edit bsd disklabel //编辑sdb磁盘标签
c toggle the dos compatibility flag //切换dos兼容模式
d delete a partition //删除分区
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 //创建新的Sun磁盘标签
t change a partition‘s system id //修改分区ID,可以通过l查看id
u change display/entry units //修改容量单位,磁柱或扇区
v verify the partition table //检验分区表
w write table to disk and exit //保存退出
x extra functionality (experts only) //拓展功能
//创建主分区
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): //默认回车
First sector (2048-2097151, default 2048): //默认扇区回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +50M //分配50MB
//创建扩展分区
Command (m for help): n //新建分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e //创建扩展分区
Partition number (2-4, default 2):
First sector (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151): //默认划分所有空间给扩展分区
//创建逻辑分区
Command (m for help): n //新建分区
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l //创建逻辑分区
Adding logical partition 5
First sector (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M //分配100MB空间
//查看分区创建
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 2097151 996352 5 Extended
/dev/sdb5 106496 311295 102400 83 Linux
//保存分区
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
//检查磁盘是否是MBR分区方式
[[email protected] ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos
//安装parted, 刷新内核立即生效,无需重启
[[email protected] ~]# yum -y install parted
[[email protected] ~]# partprobe /dev/sdb
1.4.2 gdisk分区:
大于2TB使用分区工具gdisk
//安装gdisk工具
[[email protected] ~]# yum install gdisk
[[email protected] ~]# gdisk /dev/sdb
Command (? for help): n //创建新分区
Partition number (1-128, default 1):
First sector (34-2097118, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-2097118, default = 2097118) or {+-}size{KMGTP}: +500M //分配500M大小
Command (? for help): p //打印查看
Number Start (sector) End (sector) Size Code Name
1 2048 1026047 500.0 MiB 8300 Linux filesystem
Command (? for help): w //保存分区
Do you want to proceed? (Y/N): y //确认
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
//检查磁盘是否是gpt格式
[[email protected] /]# fdisk /dev/sdb -l|grep type
Disk label type: gpt
//安装parted, 刷新内核立即生效,无需重启
[[email protected] ~]# yum -y install parted
[[email protected] ~]# partprobe /dev/sdb
1.5 创建文件系统:
格式化:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统)
1.5.1 文件系统管理工具:
创建文件系统的工具
mkfs
检测及修复文件系统的工具
fsck
查看其属性的工具
dumpe2fs、tune2fs
调整文件系统的特性
tune2fs
-b //设定数据区块占用空间大小,目前支持1024、2048、4096 bytes每个块。
-t //用来指定什么类型的文件系统,可以是ext4, xfs
-i //设定inode的大小
-N //设定inode数量,防止Inode数量不够导致磁盘不足
-L //预设该分区的标签label
//格式化整个sdb磁盘为ext4文件系统
[[email protected] ~]# mkfs.ext4 /dev/sdb
//也可以格式化sdb1分区为xfs文件系统
[[email protected] ~]# mkfs.xfs /dev/sdb1
1.5.2 元数据区、数据区
元数据区:inode
大小、权限、属主属组、时间戳、数据块指针
符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;
设备文件:存储数据指针的空间当中存储的是设备号;
/dev/sda1
1.5.3 VFS:Virtual File System
Linux的文件系统:ext2、ext3、ext4、xfs、reiserfs、btrfs
光盘:ISO9660
网络文件系统:nfs、cifs
集群文件系统:gfs2、ocfs2
内核级分布式文件系统:ceph
Windows的文件系统:vfat、ntfs
伪文件系统:proc、sysfs、tmpfs、hugepagefs
Unix的文件系统:UFS、FFS、JFS
交换文件系统:SWAP
用户空间的文件系统:mogilfs、moosefs、glusterfs
1.5.4 内核级文件系统的组成部分:
文件系统驱动:由内核提供
文件系统管理工具:由用户空间的应用程序提供
1.6 磁盘挂载mount
在上面的内容中讲到了磁盘的分区和格式化, 那么格式化完了后, 如何使用, 这就涉及到了挂载这块磁盘。
挂载分区前需要创建挂载点, 挂载点以目录形式出现
如何往挂载点目录写入数据, 实际上会写入到该分区
挂载点建议是空目录, 不是也不影响挂载分区的使用
mount命令
mount [-fnrsvw] [-t vfsytpe] [-o options] device directory
-r:readonly
-w:read and write
-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中,-n用于禁止此特性;
-t:指明要挂载的设备上的文件系统的类型;多数情况下可以省略,此时mount会通过blkid来判断挂载的设备的文件系统类型;
-L LABEL:挂载时以卷标的方式指明设备;
-U UUID:挂载时以UUID的方式指明设备;
-o options:挂载选项
sync/async:同步/异步操作;
atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
remount:重新挂载;
acl:支持使用acl功能;
mount -o acl device dir
tune2fs -o acl device
ro:只读;
rw:读写;
dev/nodev:此设备上是否允许创建设备文件;
exec/noexec:此设备上的文件是否允许运行;
auto/noauto:
user/nouser:是否允许普通用户挂载此文件系统;
suid/nosuid:是否允许程序文件上的suid和sgid特殊权限是否生效;
relatime/norelatime:
defaults:rw,suid,dev,exec,auto,nouser,async,relatime
/etc/fstab文件:
每行定义一个要挂载的文件系统及相关属性;
6个字段:
1)要挂载的设备;
设备文件;
LABEL;
UUID;
伪文件系统:如sysfs,proc,tmpfs等;
2)挂载点
swap类型的设备的挂载点为swap;
3)文件系统类型;
4)挂载选项;
defaults:使用默认挂载选项;
如果需要同时指明多个挂载选项,彼此间以逗号分隔;
5)转储频率(备份);
0:从不备份;
1:每天备份一次;
2:每隔一天备份一次;
6)自检次序:
0:不自检;
1:首先自检,通常只能是根文件系统;
2:次级自检;
使用UUID自动挂载:
[[email protected] ~]# blkid /dev/sdb1 |awk ‘{print $2}‘ >> /etc/fstab
[[email protected] ~]# blkid /dev/sdb2 |awk ‘{print $2}‘ >> /etc/fstab
[[email protected] ~]# blkid /dev/sdb3 |awk ‘{print $2}‘ >> /etc/fstab
[[email protected] ~]# blkid /dev/sdc1 |awk ‘{print $2}‘ >> /etc/fstab
[[email protected] ~]# blkid /dev/sdc2 |awk ‘{print $2}‘ >> /etc/fstab
[[email protected] ~]# cat /etc/fstab
……
UUID="f472fae5-3530-40dc-94ea-9d0fe30394a8" /data1 auto defaults 0 0
UUID="dfba5cd3-3702-446c-8286-9d83ac0e3e72" /data2 auto defaults 0 0
UUID="72e7ffd7-30e0-4233-ad71-ab0813fe7b80" /data3 auto defaults 0 0
UUID="ca0503b3-782b-4f17-b634-6d30e98ff830" /data4 auto defaults 0 0
UUID="2a1a8216-b725-4e07-85ff-e661cde2b53b" /data5 auto defaults 0 0
windows server 2008服务器操作系统
我们的移动设备(移动硬盘),有时通过USB接上以后,可以识别硬盘,但是看不到分区,是因为系统没有自动分配分区盘符
1.6.1 临时挂载磁盘
命令:mount挂载磁盘,实质为文件系统指定访问入口
mount -t //指定文件系统挂载分区,如ext4, xfs
mount -a //读取/etc/fstab配置文件的所有分区
mount -o //指定挂载参数
//fstab被损坏情况下,让只读文件系统可写(正常情况下不使用)
[[email protected] ~]#mount -o rw,remount /
//挂载/dev/sdb1至db1目录
[[email protected] ~]# mkdir /db1
[[email protected] ~]# mount -t xfs /dev/sdb1 /db1/
1.6.2 永久挂载磁盘
//使用blkid命令获取各分区的UUID
[[email protected] ~]# blkid |grep "sdb1"
/dev/sdb1: UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" TYPE="xfs"
//使用UUID挂载磁盘sdb1分区至于db1, 临时挂载
[[email protected] ~]# mount UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" /db1
//也可以把下面这行写到/etc/fstab中,永久挂载, 开机自动挂载
[[email protected] ~]# tail -1 /etc/fstab
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs defaults 0 0
//加载fstab配置文件, 同时检测语法是否有错误
[[email protected] ~]# mount –a
fstab配置文件介绍
[[email protected] ~]# vim /etc/fstab
//分区标识(UUID或设备名) 挂载点 文件类型 挂载参数 不检查 不备份
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs defaults 0 0
//挂载参数, 可写fstab配置文件, 也可以mount时使用-o参数指定
参数 参数意义 系统默认值
async 系统每隔一段时间把内存数据写入磁盘中,
sync 时时同步内存和磁盘中数据;
suid,nosuid 允许/不允许分区有suid属性 suid
rw,ro 可以指定文件系统是只读(ro)或可写(rw) rw
exec,noexec 允许/不允许可执行文件执行,不要挂载根分区 exec
user,nouser 允许/不允许root外的其他用户挂载分区 nouser
auto,noauto 开机自动挂载/不自动挂载 auto
default 默认文件系统挂载设置 rw, suid, dev, exec, auto, nouser, async
//加载所有配置
[[email protected] ~]# mount -a
1.6.3 卸载挂载磁盘
umount -lf //强制卸载挂载
//使用站点目录卸载
[[email protected] ~]# umount /db1
//使用设备名卸载/dev/sdb1
[[email protected] ~]# umount /dev/sdb1
//umount不能卸载的情况
[[email protected] db1]# umount /db1
umount: /db1: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1)
//如上情况解决办法有两种, 切换至其他目录 或使用‘-l‘选项强制卸载
[[email protected] db1]# umount -l /db1
原文地址:http://blog.51cto.com/13859501/2165644