4.5磁盤格式化 上
[root@hyc-01-01 ~]# cat /etc/filesystems 查看linux支持的分區文件系統
Xfs centos7開始成爲默認的文件系統格式
ext4 ext文件系統格式,2/3/4爲版本號
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
[root@hyc-01-01 ~]# mount 查看linux各個分區的文件系統格式
…
/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (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=100816k,mode=700)
swap分區爲swap分區格式,是swap分區自有的特殊格式
[root@hyc-01-01 ~]# fdisk –l 查看當前系統分區
磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x000c9c2f
設備 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 41943039 18668544 83 Linux
磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x9856bc3f
設備 Boot Start End Blocks Id System
/dev/sdb2 4196352 8390655 2097152 83 Linux
/dev/sdb3 8390656 10487807 1048576 83 Linux
/dev/sdb4 10487808 18876415 4194304 5 Extended
/dev/sdb5 12589056 14686207 1048576 83 Linux
[root@hyc-01-01 ~]# du -sh test.txt
0 test.txt 當前文件沒有任何內容,不佔用任何塊
[root@hyc-01-01 ~]# echo 1 > test.txt
[root@hyc-01-01 ~]# ls -lh test.txt
-rw-r--r--. 1 root root 2 6月 17 11:50 test.txt 文件內容大小爲2字節
[root@hyc-01-01 ~]# du -sh test.txt
4.0K test.txt 不管文件大小,至少佔用一個塊的大小
[root@hyc-01-01 ~]# du -sb test.txt
2 test.txt 使用-b選項可以查看文件的真實大小
[root@hyc-01-01 ~]# mke2fs -t ext4 /dev/sdb2 將分區格式化爲ext4文件格式
[root@hyc-01-01 ~]# mkfs.ext4 /dev/sdb2 同上
[root@hyc-01-01 ~]# mke2fs -t xfs /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
Your mke2fs.conf file does not define the xfs filesystem type.
Aborting... mke2fs工具無法將分區格式化爲xfs(不支持的格式)
[root@hyc-01-01 ~]# mkfs.xfs /dev/sdb2 提示分區已經被格式化爲ext4,此時需要-f強制
mkfs.xfs: /dev/sdb2 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@hyc-01-01 ~]# mkfs.xfs -f /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=524288, 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@hyc-01-01 ~]# mount 由於/dev/sdb2仍未被掛載,所以mount無法查看到sdb2
[root@hyc-01-01 ~]# blkid 查看分區
/dev/sda1: UUID="880a750a-458a-4fec-b40c-0028e23c7d4a" TYPE="xfs"
/dev/sda2: UUID="d9c60f63-2e5b-455a-b0bb-93390ba4baf4" TYPE="swap"
/dev/sda3: UUID="0762ca41-f070-4c2e-a532-df452b3b39a8" TYPE="xfs"
/dev/sdb2: UUID="df0dafa6-e15a-4d5e-93e9-6b047baf8f92" TYPE="xfs"
[root@hyc-01-01 ~]# blkid /dev/sdb2 查看指定分區
/dev/sdb2: UUID="df0dafa6-e15a-4d5e-93e9-6b047baf8f92" TYPE="xfs"
4.6 磁盤格式化 下
[root@hyc-01-01 ~]# mke2fs -t ext4 -b 2048 /dev/sdb2 指定塊大小格式化
[root@hyc-01-01 ~]# mkfs.xfs -b size=2048 -f /dev/sdb2
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=262144 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=2048 blocks=1048576, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=2048 blocks=5120, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@hyc-01-01 ~]# mke2fs -t ext4 -b 8192 /dev/sdb2
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.42.9 (28-Dec-2013)
mke2fs: 8192-byte blocks too big for system (max 4096)
無論如何也要繼續? (y,n) 指定的塊大小太大時會出現提示
如果磁盤存儲的是視頻、音樂等較大的文件則可以將塊大小設置大,適當的塊大小可以增加讀寫速度
Warning: 8192-byte blocks too big for system (max 4096), forced to continue
warning: 32 blocks unused.
文件系統標籤=
OS type: Linux
塊大小=8192 (log=3)
分塊大小=8192 (log=3)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 262112 blocks
13105 blocks (5.00%) reserved for the super user 格式化時有5%的空間預留給root用戶
第一個數據塊=0
Maximum filesystem blocks=268402688
4 block groups
65528 blocks per group, 65528 fragments per group
32768 inodes per group
Superblock backups stored on blocks:
65528, 196584
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@hyc-01-01 ~]# mke2fs -m 2 /dev/sdb2 格式化時預留2%的空間給root(支持小數寫法)
[root@hyc-01-01 ~]# blkid /dev/sdb2 不指定文件系統格式則默認格式化爲ext2
/dev/sdb2: UUID="ede8db35-d323-4641-babe-ee876d66952b" TYPE="ext2"
[root@hyc-01-01 ~]# mkfs.ext4 -m 2 /dev/sdb2
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
10485 blocks (2.00%) 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@hyc-01-01 ~]# mkfs.ext4 -m 0.1 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2) 每個塊爲4K
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks 每4個塊對應一個inode號,即每16k對應一個inode號
524 blocks (0.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@hyc-01-01 ~]# mkfs.xfs -m 2 /dev/sdb2 xfs文件格式不支持指定預留給root的空間大小
unknown option -m 2
Usage: mkfs.xfs
/* blocksize */ [-b log=n|size=num]
/* metadata */ [-m crc=0|1,finobt=0|1,uuid=xxx]
/* data subvol */ [-d agcount=n,agsize=n,file,name=xxx,size=num,
(sunit=value,swidth=value|su=num,sw=num|noalign),
sectlog=n|sectsize=num
/* force overwrite */ [-f]
/* inode size */ [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,
projid32bit=0|1]
/* no discard */ [-K]
/* log subvol */ [-l agnum=n,internal,size=num,logdev=xxx,version=n
sunit=value|su=num,sectlog=n|sectsize=num,
lazy-count=0|1]
/* label */ [-L label (maximum 12 characters)]
/* naming */ [-n log=n|size=num,version=2|ci,ftype=0|1]
/* no-op info only */ [-N]
/* prototype file */ [-p fname]
/* quiet */ [-q]
/* realtime subvol */ [-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */ [-s log=n|size=num]
/* version */ [-V]
devicename
<devicename> is required unless -d name=xxx is given.
<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),
xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
<value> is xxx (512 byte blocks).
[root@hyc-01-01 ~]# mke2fs -i 8192 -t ext4 /dev/sdb2 指定每個inode號對應的空間大小(8K)
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 每2個塊對應一個inode號
26214 blocks (5.00%) reserved for the super user
第一個數據塊=0
…
[root@hyc-01-01 ~]# mkfs.ext4 -i 4096 -t ext4 /dev/sdb2 同上,xfs不支持-i
至少爲一個塊對應一個inode;
mkfs.xfs基本沒有什麼選項或特殊用法,直接跟分區即可;
4.7 磁盤掛載 上
磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x9856bc3f
設備 Boot Start End Blocks Id System
命令(輸入 m 獲取幫助):q
[root@hyc-01-01 ~]# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (dos). 提示已經包含了分區表
mkfs.xfs: Use the -f option to force overwrite.
[root@hyc-01-01 ~]# 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@hyc-01-01 ~]# blkid /dev/sdb
/dev/sdb: UUID="282adc7f-40c8-4dad-98e6-11829c289fe2" TYPE="xfs"
[root@hyc-01-01 ~]# mount /dev/sdb /mnt 掛載分區到目錄下
[root@hyc-01-01 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 982M 17G 6% /
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 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
[root@hyc-01-01 ~]# touch /mnt/2.txt 在/mnt目錄下寫入文件和目錄
[root@hyc-01-01 ~]# mkdir /mnt/3
[root@hyc-01-01 ~]# ls /mnt
2.txt 3
[root@hyc-01-01 ~]# cd /mnt
[root@hyc-01-01 mnt]# umount /dev/sdb 當前用戶正在mnt目錄下導致無法正常卸載分區
umount: /mnt:目標忙。
(有些情況下通過 lsof(8) 或 fuser(1) 可以
找到有關使用該設備的進程的有用信息)
[root@hyc-01-01 mnt]# cd ..
[root@hyc-01-01 /]# umount /dev/sdb 卸載成功
[root@hyc-01-01 /]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 982M 17G 6% /
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 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
[root@hyc-01-01 mnt]# umount /mnt 無法卸載,umount後可跟要卸載的分區或要卸載分區的目錄
umount: /mnt:目標忙。
(有些情況下通過 lsof(8) 或 fuser(1) 可以
找到有關使用該設備的進程的有用信息)
[root@hyc-01-01 mnt]# umount -l /mnt 強制卸載
[root@hyc-01-01 mnt]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 982M 17G 6% /
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 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
4.8 磁盤掛載 下
[root@hyc-01-01 mnt]# man mount
defaults 可讀可寫(rw),可以設置suid(suid),掛載的分區下的文件可執行(exec/noexec),自動掛載(auto/noauto),不允許普通用戶掛載(nouser/user),每過一段時間同步內存與磁盤的數據,不會實時同步(async/sync)
-o 掛載磁盤時添加其他可選項,包括rw(可讀可寫)、ro(只讀)、nouser(僅root用戶可以掛載)、async/sync(是否實時同步內存數據到磁盤)等
[root@hyc-01-01 mnt]# mount -o remount /dev/sdb 重新掛載
[root@hyc-01-01 mnt]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 983M 17G 6% /
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 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
[root@hyc-01-01 mnt]# mount -o remount,rw /dev/sdb 重掛載sdb並可讀可寫
配置文件/etc/fstab
定義系統啓動時默認掛載的目錄
[root@hyc-01-01 mnt]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri May 25 04:48:53 2018
#
# 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=0762ca41-f070-4c2e-a532-df452b3b39a8 / xfs defaults 0 0
UUID=880a750a-458a-4fec-b40c-0028e23c7d4a /boot xfs defaults 0 0
UUID=d9c60f63-2e5b-455a-b0bb-93390ba4baf4 swap swap defaults 0 0
第一列:要被掛載的分區,可以寫UUID或分區名稱/dev/sdb(使用blkid命令可以查看分區的UUID)
[root@hyc-01-01 mnt]# mount UUID="282adc7f-40c8-4dad-98e6-11829c289fe2" /mnt
[root@hyc-01-01 mnt]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 18G 982M 17G 6% /
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 197M 97M 100M 50% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt 掛載成功
第二列:掛載點(目錄)
第三列:掛載選項(rw、sync、nouser…),默認defaults
第四列:是否備份文件系統,0則不備份(dump),一般設置爲0,該選項作用不大
第五列:設置優先級(0/1/2),檢測磁盤的問題和錯誤,數字越小級別越高,一般根文件系統設置爲1,其他的設爲2,設爲0則不檢測
[root@hyc-01-01 mnt]# man fstab 查看某配置文件用法(不要寫/etc/fstab)
4.9 手動增加swap空間
一般swap空間最大設8G
1 在文件系統中虛擬磁盤
[root@hyc-01-01 mnt]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
dd操作磁盤命令;if指定從哪裏讀;/dev/zero是linux內核中的造0器,可以產生源源不斷的0;指定將0寫入的位置,這裏寫入/tmp/newdisk文件;bs指定每個塊的大小;count=100,100x1M即100M
記錄了100+0 的讀入
記錄了100+0 的寫出
104857600字節(105 MB)已複製,1.77548 秒,59.1 MB/秒
[root@hyc-01-01 mnt]# du -sh /tmp/newdisk
100M /tmp/newdisk 創建虛擬磁盤完成
2 格式化
[root@hyc-01-01 mnt]# mkswap -f /tmp/newdisk 執行swap分區的特殊的格式化
正在設置交換空間版本 1,大小 = 102396 KiB
無標籤,UUID=eb572afa-284e-42f0-883e-136ebeb63e68
[root@hyc-01-01 mnt]# free –m 查看目前swap分區大小
total used free shared buff/cache available
Mem: 984 120 600 6 263 689
Swap: 2047 0 2047
[root@hyc-01-01 mnt]# swapon /tmp/newdisk 掛載分區到swap
swapon: /tmp/newdisk:不安全的權限 0644,建議使用 0600。
[root@hyc-01-01 mnt]# free -m
total used free shared buff/cache available
Mem: 984 120 600 6 263 689
Swap: 2147 0 2147 增加了100Mswap空間
[root@hyc-01-01 mnt]# chmod 0600 /tmp/newdisk 考慮安全可以將/tmp/newdisk權限改爲0600
卸載swap
[root@hyc-01-01 mnt]# swapoff /tmp/newdisk
[root@hyc-01-01 mnt]# free -m
total used free shared buff/cache available
Mem: 984 120 600 6 263 689
Swap: 2047 0 2047 空間大小恢復爲2047