[TOC]
45 磁盘格式化(上)/(下)
磁盘分区后需要格式化才能使用,NTFS格式为常用格式
[root@localhost ~]# cat /etc/filesystems (CentOS7所支持的文件系统格式)
xfs (CentOS7默认的系统,/ 目录和 /boot目录是xfs,而CetnOS6使用的则是ext4格式)
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
mke2fs为格式化命令
-t 表示格式化成指定的格式
-b 指定块大小
[root@localhost ~]# fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a2987
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 9005055 4194304 82 Linux swap / Solaris
/dev/sda3 9005056 41943039 16468992 83 Linux
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7250fb74
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 5220351 512000 83 Linux
/dev/sdb3 5220352 6244351 512000 83 Linux
/dev/sdb4 6244352 10485759 2120704 5 Extended
/dev/sdb5 6246400 8343551 1048576 83 Linux
[root@localhost ~]# mke2fs -t xfs -b 2048 /dev/sdb1 (指定为xfs的格式,指定块大小为2048b)
mke2fs 1.42.9 (28-Dec-2013)
Your mke2fs.conf file does not define the xfs filesystem type.
Aborting... (这里显示不支持,我们换成ext4格式)
[root@localhost ~]# mke2fs -t ext4 -b 2048 /dev/sdb1(指定为ext4的格式,指定块大小为2048b。这里还有一个命令mkfs.ext4等价于mke2fs -t ext4)
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=269484032
64 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
mkfs命令
[root@localhost ~]# mkfs.xfs /dev/sdb2 (用mkfs.xfs就可以实现xfs的格式化,如果是已经格式化过的需要加-f强制执行)
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
查看还没有挂在的分区
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="4107f3b2-4de9-494e-b921-061e71398032" TYPE="ext4"
(mkfs.ext4 等价于mke2fs -t ext4)
(格式化成xfs需要用mkfs.xfs)
mke2fs指定块大小使用 -b
[root@localhost ~]# mke2fs -b 2048 /dev/sdb1 (指定2048k块大小)
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=537919488
64 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816
Allocating group tables: 完成
正在写入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
mke2fs指定预留给root的磁盘空间 -m
[root@localhost ~]# mke2fs -t ext4 -m 1.1 /dev/sdb1(预留百分之1.1的空间给root用户,并指定文件系统格式为ext4,如果不指定则是默认为ext2)
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks (块和inode比例大概四比一的比例)
5767 blocks (1.10%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 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: 完成
[root@localhost ~]# blkid /dev/sdb1(查看sdb1信息)
/dev/sdb1: UUID="f7800a5a-f0c4-4543-8cbd-3f29735d11fe" TYPE="ext4"
mke2fs指定inode对应块大小 -i
[root@localhost ~]# mke2fs -t ext4 -i 8192 /dev/sdb1(可以增加inode)
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 524288 blocks (块和inode大概一比二的比例)
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
16384 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: 完成
47 / 48 磁盘挂载(上)/(下)
不分区格式化整个磁盘
[root@localhost ~]# fdisk /dev/sdb (删除所有分区)
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7250fb74
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 5220351 512000 83 Linux
/dev/sdb3 5220352 6244351 512000 83 Linux
/dev/sdb4 6244352 10485759 2120704 5 Extended
/dev/sdb5 6246400 8343551 1048576 83 Linux
命令(输入 m 获取帮助):d
分区号 (1-5,默认 5):1
分区 1 已删除
[root@localhost ~]# mkfs.xfs -f /dev/sdb(格式化整个磁盘,-f 强制执行)
meta-data=/dev/sdb isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310720, 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@localhost ~]# blkid /dev/sdb(查看分区文件系统)
/dev/sdb: UUID="052c6e46-1bc2-4950-bae1-8364ba26ea2f" TYPE="xfs"
挂载命令mount
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.7M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 118M 180M 40% /boot
tmpfs 183M 0 183M 0% /run/user/0
[root@localhost ~]# mount /dev/sdb /mnt/(挂载到/mnt目录下)
[root@localhost ~]# df -h()
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.7M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 118M 180M 40% /boot
tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb 5.0G 33M 5.0G 1% /mnt (磁盘挂载到/mnt下)
[root@localhost ~]# mount
/dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota) (可查看到该磁盘信息,表示挂载成功)
cd到该磁盘下创建文件后卸载磁盘需要
[root@localhost mnt]# ls
1.txt 23 2.txt
[root@localhost mnt]# umount /dev/sdb
umount: /mnt:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@localhost mnt]# cd(需要先退出磁盘挂载的目录)
[root@localhost ~]# umount /dev/sdb(这样就卸载了磁盘)
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 16G 1.1G 15G 7% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.7M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 297M 118M 180M 40% /boot
tmpfs 183M 0 183M 0% /run/user/0
(其它方式)
[root@localhost ~]# umount -l /dev/sdb(不需要退出挂载目录)
[root@localhost ~]# umount /mnt/(可以使用挂载目录来指定卸载)
mount默认的一些选项
[root@localhost ~]# man mount
defaults
Use default options: rw, suid, dev, exec, auto, nouser, and
async.
rw:表示可读可写
suid:表示可以设置suid
dev:表示设备相关
exec:表示挂载后磁盘内程序可执行
auto:表示自动挂载
nouser:默认不允许普通用户挂载 (以上命令对应的否定只需要前面)
async:间隔时间同步内存中写入磁盘,sync是随时同步内存写入内容
(例如重新挂载)
[root@localhost ~]# mount -o remount,rw /dev/sdb
(查看配置文件,系统启动默认挂载哪些磁盘和哪些分区都是这个配置文件配置决定)
[root@localhost ~]# vi /etc/fstab(加入下面一行)
/dev/sdb /mnt xfs defaults 0 0
/dev/sdb:目录就喝UUID一样的作用
/mnt:挂载点
xfs:文件系统类型
defaults:默认选项
第一个0:早期需要备份东西,现在不需要了
第二个0:开机不需要检测磁盘为0,需要检测磁盘,根分区为1,其它为2
[root@localhost ~]# blkid(查看UUID)
/dev/sda1: UUID="59357a0d-beb9-4fff-9c4c-5eb21f1163b0" TYPE="xfs"
/dev/sda2: UUID="a1548080-070f-4484-8edd-d82285658961" TYPE="swap"
/dev/sda3: UUID="2e210528-713c-4f70-afca-f47bb3630a96" TYPE="xfs"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sdb: UUID="052c6e46-1bc2-4950-bae1-8364ba26ea2f" TYPE="xfs"
49 手动增加swap空间
swap不需要太大的空间,最多8G就足够了
有些需要很大的swap空间,就需要增加swap空间
首先弄一个模拟的磁盘出来
(dd命令是用来操作磁盘的,可以写也可以用来读)
[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100(if是指从哪里去读,/dev/zero是Linux内核的一个倒零器,of写入到某一个文件里面去,然后指定块大小为1M,数量100为100M)
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,2.76844 秒,37.9 MB/秒
[root@localhost ~]# du -sh /tmp/newdisk
100M /tmp/newdisk
[root@localhost ~]# mkswap -f /tmp/newdisk (格式化磁盘)
mkswap: /tmp/newdisk: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=d8c26857-0827-4289-86c1-bc47970ae826
[root@localhost ~]# free -m(查看现在swap大小)
total used free shared buff/cache available
Mem: 1823 123 1418 8 281 1516
Swap: 4095 0 4095
[root@localhost ~]# swapon /tmp/newdisk (添加swap)
swapon: /tmp/newdisk:不安全的权限 0644,建议使用 0600。
[root@localhost ~]# free -m(挂载成功)
total used free shared buff/cache available
Mem: 1823 123 1417 8 281 1516
Swap: 4195 0 4195
[root@localhost ~]# chmod 0600 /tmp/newdisk (更改权限)
[root@localhost ~]# swapoff /tmp/newdisk (卸载swap分区)
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1823 123 1417 8 281 1516
Swap: 4095 0 4095
[root@localhost ~]# rm -f /tmp/newdisk