查看系统支持的文件系统格式:
"/"和"/boot"都是xfs格式!
一,命令mke2fs
1.语法
mke2fs [选项] [参数]
mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4均可用于磁盘格式化!(mkfs.ext4=mke2fs -t ext4)
3.命令选项
-L:=label,预设该分区的标签
-t:用来指定文件系统的类型(xfs、ext4、ext3、ext2等)
-b:分区时指定每个数据块的大小,目前支持1024、248、4096 bytes每个块
-i:指定inode大小,默认单位是byte
-N:设定inode数量,有时候默认的数量不够用,所以需要自己设定inode数量
-c:在格式化之前先检测一下磁盘是否有问题,加上这个选项后会非常慢
-m:格式化时,指定预留给管理员的磁盘比例,是一个百分比,只针对mke2fs命令
实例:磁盘格式化
mke2fs不支持 xfs,
[root@cham2 ~]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
创建xfs格式分区:
[root@cham2 ~]# mkfs.xfs /dev/sdb1
mkfs.xfs: /dev/sdb1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@cham2 ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=196608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=786432, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
格式化过的磁盘可以再次进行格式化!
[root@cham2 ~]# fdisk -l
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b812750
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 83 Linux
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000aed5a
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 391167 194560 83 Linux
/dev/sda2 391168 8202239 3905536 82 Linux swap / Solaris
/dev/sda3 8202240 41943039 16870400 83 Linux
[root@cham2 ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
即,磁盘不分区也可以进行格式化 格式成xfs!
[root@cham2 ~]# fdisk -l
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000aed5a
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 391167 194560 83 Linux
/dev/sda2 391168 8202239 3905536 82 Linux swap / Solaris
/dev/sda3 8202240 41943039 16870400 83 Linux
[root@cham2 ~]# mkfs.xfs -f /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@cham2 ~]# blkid /dev/sdb
/dev/sdb: UUID="269a8837-e75f-4224-84f2-9985eb1ef9d7" TYPE="xfs"
- 查看一个未挂载的分区: blkid命令
[root@cham2 ~]# blkid
/dev/sdb: UUID="9d5c1aa5-035b-497f-a2cc-54447e4762d8" TYPE="xfs"
/dev/sda1: UUID="027d84b6-814c-4460-ad23-4034087440be" TYPE="xfs"
/dev/sda2: UUID="3f3e4ba7-330f-44c7-859e-008dfad35343" TYPE="swap"
/dev/sda3: UUID="0a03c026-1b9f-4f12-aafc-be8b5b50a8d6" TYPE="xfs"
也可以查看指定磁盘的信息:
[root@cham2 ~]# blkid /dev/sda1
/dev/sda1: UUID="027d84b6-814c-4460-ad23-4034087440be" TYPE="xfs"
磁盘挂载
磁盘格式化完成后需要挂载后才能进行是使用。
在挂载某个分区前需要先建立一个挂载点,这个挂载点是以目录的形式出现的。一旦把某一个分区挂载到了这个挂载点(目录)下,那么再往这个目录写数据时,则都会写到该分区中。
注意:在磁盘挂载分区前,挂载点下必须是空目录,因为磁盘挂载后该目录下之前的东西就看不到了,只有卸载分区后才能看到。
mount命令、umount命令
语法: mount [选项] [盘符] [挂载点]
选项:
-a:把/etc/fstab中出现的所有磁盘分区挂载上
-t:指定分区类型,默认不指定会自动识别
-o:=options指定挂载分区特性(分区表第四列那些)
描述 :挂载点相当于磁盘的入口,没有挂载点就没有办法在磁盘里写东西
mount命令不加任何选项时,该命令可查看当前系统已经挂载的所有分区及其文件系统的类型、挂载点和一些选项信息。
[root@cham2 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=494396k,nr_inodes=123599,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=100844k,mode=700)
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
fstab分区表 vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Oct 19 06:55:53 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=0a03c026-1b9f-4f12-aafc-be8b5b50a8d6 / xfs defaults 0 0
UUID=027d84b6-814c-4460-ad23-4034087440be /boot xfs defaults 0 0
UUID=3f3e4ba7-330f-44c7-859e-008dfad35343 swap swap defaults 0 0
fstab,分区表解读
关于第四列mount的挂载参数:
- async/sync:磁盘和内存是否同步,默认async不同步;
- auto/noauto:开机自动挂载/不自动挂载;
- default:按着大多数永久文件系统的缺省值设置挂载定义,包含rw,suid,dev,exec,auto,nouser,async等
- ro:按只读权限挂载
- rw:按读写权限挂载
- exec/noexec:允许/不允许可执行文件执行,千万不要把根分区挂载为noexec。
- user/nouser:允许/不允许root外其他用户挂载分区,为了安全考虑,使用nouser
- suid/nosuid:允许/不允许分区有suid属性,一般设置nosuid
- usrquota:启动使用者磁盘配额模式,可针对用户限定他们的使用额度
- grquota:启动群组磁盘配额模式
说明: 如果一台服务器上有多块磁盘,进行挂载时优先选用UUID,避免发生硬件维修更换磁盘位置后磁盘分区名发生变化而影响系统启动。
实例:mount挂在到mnt下,再umount删除,再挂在到mut下再umount -l 懒人删除
[root@cham2 ~]# mount /dev/sdb /mnt/
[root@cham2 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 17G 1.1G 16G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 187M 109M 79M 59% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
[root@cham2 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=494396k,nr_inodes=123599,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=100844k,mode=700)
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@cham2 ~]# cd /mnt/
[root@cham2 mnt]# ls
[root@cham2 mnt]# touch 1.txt 2.txt
[root@cham2 mnt]# mkdir 234
[root@cham2 mnt]# ls
1.txt 234 2.txt
[root@cham2 mnt]# umount /dev/sdb
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@cham2 mnt]# pwd
/mnt
[root@cham2 mnt]# cd
[root@cham2 ~]# umount /dev/sdb
[root@cham2 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 17G 1.1G 16G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 187M 109M 79M 59% /boot
tmpfs 99M 0 99M 0% /run/user/0
[root@cham2 ~]# mount /dev/sdb /mnt/
[root@cham2 ~]# ls /mnt
1.txt 234 2.txt
[root@cham2 ~]# cd /mnt/
[root@cham2 mnt]# umount /dev/sdb
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@cham2 mnt]# umount -l /dev/sdb
[root@cham2 mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 17G 1.1G 16G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 187M 109M 79M 59% /boot
tmpfs 99M 0 99M 0% /run/user/0
- 进行磁盘挂载,目录下原有内容被覆盖!
[root@cham2 ~]# mkdir /newdir
[root@cham2 ~]# touch /newdir/ch.txt
[root@cham2 ~]# ls
anaconda-ks.cfg
[root@cham2 ~]# ls /newdir
ch.txt
[root@cham2 ~]# ls /newdir/
ch.txt
[root@cham2 ~]# mount /dev/sdb /newdir/
将/dev/sdb/挂载到/newdir/
[root@cham2 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 17G 1.1G 16G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.7M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 187M 109M 79M 59% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /newdir
[root@cham2 ~]# ls -l /newdir/
总用量 0
目录下原有内容被覆盖!
umount命令
语法: umount(选项)(参数)
选项: -l:= lazy( 懒惰) 卸载分区时不必退出分区所在目录
注: 当在要卸载的分区所在目录进行卸载时是无法直接完成的,解决办法有两种,第一,退出当前目录再卸载;第二,使用‘umount -l’
[root@cham2 mnt]# umount /dev/sdb
[root@cham2 mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 17G 1.1G 16G 7% /
devtmpfs 483M 0 483M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 187M 109M 79M 59% /boot
tmpfs 99M 0 99M 0% /run/user/0
开机自动挂载分区
使某分区开机自动挂载的办法:
- 在/etc/fstab中添加一行代码‘UUID=abb35b1c-5bb9-4e78-a6c2-4d4d30ab74c0 /boot xfs defaults 0 0’
- 把挂载命令写到/etc/rc.d/rc/local文件中。
手动增加swap空间
[root@cham2 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100 手动创建一个新分区
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.69836 秒,150 MB/秒
[root@cham2 ~]# du -sh /tmp/newdisk
100M /tmp/newdisk
[root@cham2 ~]# mkswap -f /tmp/newdisk 格式化该swap分区
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=fc904317-0b4b-49ba-bdc0-357d757180d9
[root@cham2 ~]# free -m
total used free shared buff/cache available
Mem: 984 106 643 6 234 718
Swap: 3813 0 3813
[root@cham2 ~]# swapon /tmp/newdisk 挂载到原swap分区
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@cham2 ~]# free -m
total used free shared buff/cache available
Mem: 984 107 642 6 234 717
Swap: 3913 0 3913
[root@cham2 ~]# chmod 0600 /tmp/newdisk 更改权限以保安全
[root@cham2 ~]# swapoff /tmp/newdisk 卸载分区
[root@cham2 ~]# free -m
total used free shared buff/cache available
Mem: 984 106 642 6 234 718
Swap: 3813 0 3813
[root@cham2 ~]# rm -f /tmp/newdisk
[root@cham2 ~]#
“dd”:用于操作磁盘的命令(可读可写)
if:读取位置
of:写入位置
bs:=block size 块大小
count:磁盘大小(此处=100*1M)