2017-12-29 3周5次課 磁盤格式化、掛載、手動增加swap空間
·linux支持的文件系統格式:
[root@aming-01 ~]# cat /etc/filesystems xfs ext4 ext3 ext2 nodev proc nodev devpts iso9660 vfat hfs hfsplus *
·CentOS7 默認系統:xfs
·查看分區文件系統:mount
[root@aming-01 ~]# mount ##在結果中,只需要關註/dev/開頭的行,例如: /dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
·新建一個3G大小的空間
[root@aming-01 ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 命令(輸入 m 獲取幫助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分區號 (1-4,默認 1):1 起始 扇區 (2048-20971519,默認為 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-20971519,默認為 20971519):+3G 分區 1 已設置為 Linux 類型,大小設為 3 GiB 命令(輸入 m 獲取幫助):p 磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x891b79cb 設備 Boot Start End Blocks Id System /dev/sdb1 2048 6293503 3145728 83 Linux
·格式化空間 mke2fs
常用選項:-t 指定格式化成的系統 xfs
-b 指定塊大小
mke2fs -t ext4 -b 2048 /dev/sdb1
·分區:mkfs.ext4 /dev/sdb1
或mke2fs -t ext4 /dev/sdb1
mkfs.ext4 ====> mke2fs -t ext4(他們支持的選項一致)
·格式化成ext4格式:
[root@aming-01 ~]# mkfs.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 327680 inodes, 1310720 blocks 65536 blocks (5.00%) reserved for the super user 第一個數據塊=0 Maximum filesystem blocks=1342177280 40 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: 完成 正在寫入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
·如果之前已經格式化過分區,那麽再次格式化會提示需要加 -f 來強制格式化分區
[root@aming-01 ~]# 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@aming-01 ~]# mkfs.xfs -f /dev/sdb1 meta-data=/dev/sdb1 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
·查看為掛載的分區:blkid 分區
[root@aming-01 ~]# blkid /dev/sdb1 /dev/sdb1: UUID="96c429cc-1e8b-4176-bc3a-5d6c5fb9cc74" TYPE="xfs"
格式化磁盤可以不分區直接格式化,如果格式化的磁盤上有分區,那麽如果直接格式化,保存的分區會消失,需要一個分區一個分區格式化
·格式化指定塊大小:mke2fs -b 塊大小 分區
[root@aming-01 ~]# mke2fs -b 8192 /dev/sdb1 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) y Warning: 8192-byte blocks too big for system (max 4096), forced to continue warning: 80 blocks unused. 文件系統標簽= OS type: Linux 塊大小=8192 (log=3) 分塊大小=8192 (log=3) Stride=0 blocks, Stripe width=0 blocks 327680 inodes, 655280 blocks 32764 blocks (5.00%) reserved for the super user 第一個數據塊=0 Maximum filesystem blocks=671006720 10 block groups 65528 blocks per group, 65528 fragments per group 32768 inodes per group Superblock backups stored on blocks: 65528, 196584, 327640, 458696, 589752 Allocating group tables: 完成 正在寫入inode表: 完成 Writing superblocks and filesystem accounting information: 完成
(分區存儲視頻、音樂、高清圖片等大文件,可以把塊分的大一點,讀寫更快一些,8KB一個塊;小文件的話,那麽塊更小一點比較好,比如2048,一般保持默認即可)
·指定分區預留空間大小:mke2fs -m 百分比 分區 / mkfs.格式 -m 百分比 分區(必須指定格式)
[root@aming-01 ~]# mke2fs -m 1 /dev/sdb1#或者mkfs.ext4 -m 0.1 /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 327680 inodes, 1310720 blocks 13107 blocks (1.00%) reserved for the super user ##此處顯示預留空間(可以小一點) 第一個數據塊=0 Maximum filesystem blocks=1342177280 40 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: 完成 正在寫入inode表: 完成 Writing superblocks and filesystem accounting information: 完成 [root@aming-01 ~]# blkid /dev/sdb1: UUID="2ff09f0f-7ac7-4ab9-aac9-921de5490762" TYPE="ext2"
(如果不指定文件系統格式,那麽默認格式為:ext2,最好還是要ext4或者xfs)
[root@aming-01 ~]# mkfs.ext4 /dev/sdb1 327680 inodes, 1310720 blocks
格式化後,顯示的inode數量和塊數量對比可以看出,4個塊對應1個inode
·指定多少字節對應一個inode:mke2fs -i 8192 -t ext4 /dev/sdb1
[root@aming-01 ~]# mke2fs -i 8192 -t ext4 /dev/sdb1 655360 inodes, 1310720 blocks 現在則是1比2(步驟省略)
4.7/4.8 磁盤掛載
·不分區,直接格式化
[root@localhost ~]# fdisk -l 磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x0007f9b9 設備 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 字節 [root@localhost ~]# mkfs.xfs /dev/sdb mkfs.xfs: /dev/sdb appears to contain an existing filesystem (xfs). mkfs.xfs: Use the -f option to force overwrite. [root@localhost ~]# 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@localhost ~]# blkid /dev/sdb /dev/sdb: UUID="b291a780-ff4e-4b96-8239-7fbb6ce8ecd5" TYPE="xfs" /dev/sdb掛載到mnt下:mount /dev/sdb /mnt
(掛載點就是磁盤的入口,沒有掛載點就沒法在磁盤寫東西)
[root@localhost ~]# mount /dev/sdb /mnt [root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 18G 919M 17G 6% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 197M 97M 100M 50% /boot tmpfs 98M 0 98M 0% /run/user/0 /dev/sdb 10G 33M 10G 1% /mnt [root@localhost ~]# mount 此處省略... /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=99972k,mode=700) /dev/sdb on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
(可以看到磁盤系統類型是什麽)
·卸載磁盤:umount 分區 (分區未在使用)
[root@localhost ~]# cd /mnt [root@localhost mnt]# touch 1.txt 2.txt [root@localhost mnt]# mkdir 234 [root@localhost mnt]# ls 1.txt 234 2.txt [root@localhost mnt]# umount /dev/sdb umount: /mnt:目標忙。 ##因為現在在 /mnt 目錄中 (有些情況下通過 lsof(8) 或 fuser(1) 可以 找到有關使用該設備的進程的有用信息) [root@localhost mnt]# cd ##退出目錄就可以卸載 [root@localhost ~]# umount /dev/sdb [root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 18G 920M 17G 6% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 197M 97M 100M 50% /boot tmpfs 98M 0 98M 0% /run/user/0
·不退出使用,依然退出 umount -l
[root@localhost ~]# mount /dev/sdb /mnt [root@localhost ~]# ls /mnt 1.txt 234 2.txt [root@localhost ~]# umount -l /mnt ##使用/mnt 或者 /dev/sdb是一樣的 [root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 18G 920M 17G 6% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 197M 97M 100M 50% /boot tmpfs 98M 0 98M 0% /run/user/0
·mount 常用選項:
-o (-o options)
remount 重新掛載
ro 只讀
rw 讀寫
exec 是否可執行
auto 自動掛載
async 不實時同步
[root@localhost ~]# mount -o remount,rw /dev/sdb
·系統啟動默認掛載哪些磁盤,哪些分區,在fstab中配置
[root@localhost ~]# vi /etc/fstab # # /etc/fstab # Created by anaconda on Thu Dec 28 05:36:38 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=9638c3aa-a9dc-4fec-9e8a-695db86b4089 / xfs defaults 0 0 UUID=32db737f-ff19-4a5a-8e3b-26357180abef /boot xfs defaults 0 0 UUID=0d398469-5059-4022-9b0f-44ed3326036f swap swap defaults 0 0 /dev/sdb /mnt xfs defaults 0 0
1# 2# 3# 4# 5# 6#
1#設備號
2#掛載點
3#分區格式
4#掛載選項
5#是否備份(早期有用,現在沒用)
6#設置優先級(0,1,2 級別1高)
·如何查看UUID :blkid
[root@localhost ~]# blkid /dev/sda1: UUID="32db737f-ff19-4a5a-8e3b-26357180abef" TYPE="xfs" /dev/sda2: UUID="0d398469-5059-4022-9b0f-44ed3326036f" TYPE="swap" /dev/sda3: UUID="9638c3aa-a9dc-4fec-9e8a-695db86b4089" TYPE="xfs" /dev/sdb: UUID="0c8fece4-03a9-4fda-9cda-116eab4b245e" TYPE="xfs"
(每個分區都有一個UUID)
4.9 手動增加swap空間
swap一般不需要太大空間,只要8G就夠用了,如果遇到需要大swap空間時,則可以增加swap空間
·創建虛擬磁盤:
[root@localhost ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100 記錄了100+0 的讀入 ##dd 用來操作磁盤可讀寫磁盤 ##if 指定從哪裏去讀 ##/dev/zero 是盜零器,可產生源源不斷的零 記錄了100+0 的寫出 ##of 將這些零寫到哪裏去 ##bs 每塊的大小 ##count 塊的數量 104857600字節(105 MB)已復制,3.34874 秒,31.3 MB/秒 [root@localhost ~]# du -sh /tmp/newdisk 100M/tmp/newdisk [root@localhost ~]# mkswap /tmp/newdisk #格式化swap空間 正在設置交換空間版本 1,大小 = 102396 KiB 無標簽,UUID=bf2cc22f-01b8-4de2-9d2d-047a905c11b7 [root@localhost ~]# swapon /tmp/newdisk #掛載swap空間 swapon: /tmp/newdisk:不安全的權限 0644,建議使用 0600。 [root@localhost ~]# free -m total used free shared buff/cache available Mem: 976 114 622 6 239 687 Swap: 2147 0 2147 [root@localhost ~]# chmod 600 /tmp/newdisk
·卸載:swapoff
[root@localhost ~]# swapoff /tmp/newdisk [root@localhost ~]# free -m total used free shared buff/cache available Mem: 976 114 622 6 239 687 Swap: 2047 0 2047 [root@localhost ~]# rm -f /tmp/newdisk #最後刪除空間即可
2017-12-29 3周5次課 磁盤格式化、掛載、手動增加swap空間