1. 程式人生 > >2017-12-29 3周5次課 磁盤格式化、掛載、手動增加swap空間

2017-12-29 3周5次課 磁盤格式化、掛載、手動增加swap空間

磁盤格式化 磁盤掛載 swap空間

4.5/4.6 磁盤格式化


·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空間