三周第五次課(2月9日)
4.7/4.8 磁盤掛載
4.9 手動增加swap空間
4.5 磁盤格式化(上)
centos7所支持的文件系統:
# cat /etc/filesystems
xfs centos7默認安裝的系統(/ /boot )
ext4 centos6
ext3 centos5
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
建立1號主分區,容量3G
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 83 Linux
格式化
格式化命令#mke2fs #mkfs
#mke2f -t 文件格式 指定文件系統(xf2,ext3,ext4..)
#mke2f -b 塊大小 每塊容量是1024的倍數,默認塊大小是4096。(如果文件如果是空的、無內容,不會占用一個塊的容量。如果文件是)
#mk2fs.ext4===mke2fs -t ext4 兩個命令是一樣的效果,不過mk2fs不支持xfs文件系統格式化。
格式化 /dev/sdb1 xfs格式
# 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
想看一個還沒掛載的分區 應該使用#blkid查看
# blkid /dev/sdb1
/dev/sdb1: UUID="f069e6df-95db-4f34-a350-ea089e1af5f1" TYPE="xfs"
4.6 磁盤格式化(下)
指定塊容量為8192
#mke2fs -b 8192 /dev/sdb1 (什麽情況下使用8kb的塊,比如磁盤需要存儲比較大的文件:視頻、音樂、高清圖片,這樣讀寫就會更快。如果小文件,不到4KB的文件,就可以把塊文件適當設置小點,)
一般默認2kb即可
#mke2fs -b 2048 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=2048 (log=1)
分塊大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 1572864 blocks
高亮78643 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=538968064
96 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, 1327104
Allocating group tables: 完成
正在寫入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
高亮78643 blocks (5.00%) reserved for the super user
此段意思是:有5%的容量空間是預留給root用戶的,如果覺得比例有點大,可以適當調整。
#mke2fs -m 0.1(此單位是百分比,可以根據情況自定義)
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
786 blocks (0.10%) 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表: 完成
Writing superblocks and filesystem accounting information: 完成
如果無指定文件系統,默認是ext2,一般不會使用ext2,因為太老了。
# blkid /dev/sdb1
/dev/sdb1: UUID="9bd65645-054c-49d9-9eff-468ce06512df" TYPE="ext2"
指定ext4格式(# mke2fs -t ext4 -m 0.1 /dev/sdb1 與#mkfs.ext4 -m 0.1 /dev/sdb2 效果一樣,mke2fs -t ext4 與mkfs.ext4支持的選項是一致的)
# mke2fs -t 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
高亮196608 inodes, 786432 blocks
786 blocks (0.10%) 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: 完成
高亮196608 inodes, 786432 blocks
此處的關系是1:4,4個塊對應1個inode。
如果修改為2個塊對應一個inode ,如下操作:
#mke2fs -i 8192 -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
高亮393216 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
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: 完成
修改完後,可以看到高亮393216 inodes, 786432 blocks,它們之間的關系是1:2,修改成功。
總結:
mke2fs -b(塊大小) -m(預留空間) -i(修改inode與塊的對比關系)
強調
#mke2fs -t ext4 /dev/sdb1 #mkfs.ext4 /dev/sdb1 兩者效果是一樣的
4.7 磁盤掛載(上)
磁盤 不分區 直接格式化發生的情況,以及具體操作 如下:
先del之前配好的分區
#fdisk /dev/sdb
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 6293503 3145728 83 Linux
命令(輸入 m 獲取幫助):d
已選擇分區 1
分區 1 已刪除
設備 Boot Start End Blocks Id System
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
不分區,直接格式化xfs格式
#mkfs.xfs /dev/sdb
# mkfs.xfs /dev/sdb
mkfs.xfs: /dev/sdb appears to contain a partition table (dos).
mkfs.xfs: Use the -f option to force overwrite.
安全提示,有風險,按-f強制執行,
# 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
再#blkid /dev/sdb 查看文件系統,確認是xfs,格式化完成
# blkid /dev/sdb
/dev/sdb: UUID="3a209d80-d5b2-4488-8263-7bc81822a574" TYPE="xfs"
高亮 以上證明,不管有沒有分區,都可以進行格式化操作。
掛載
#mount 設備 掛載點
#mount /dev/sdb /mnt 此處是:把/dev/sdb掛載在/mnt
#df -h 查看掛載點
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 28G 1001M 27G 4% /
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 97M 91M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
高亮 /dev/sdb 10G 33M 10G 1% /mnt
掛載點說法:磁盤的入口,沒有掛載點,沒辦法再此磁盤寫東西。
#mount 可以看到/dev/sdb 的文件系統
。
。
。
。
。
。
/dev/sdb on /mnt type 高亮xfs (rw,relatime,seclabel,attr2,inode64,noquota)
卸載掛載 #umonut /dev/sdb
test
#cd /mnt
#touch 1.txt 2.txt
#mkdir 234
#ls
1.txt 234 2.txt
#umount /dev/sdb
umount: /mnt:目標忙。
(有些情況下通過 lsof(8) 或 fuser(1) 可以
找到有關使用該設備的進程的有用信息)
因為掛載點被cd進去了,所以掛載失敗,解決方法是 進去其他除/mnt(sdb掛載點)即可,操作如下:
[root@centos7 mnt]# cd ~
[root@centos7 ~]# umount /dev/sdb
[root@centos7 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 28G 1001M 27G 4% /
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 97M 91M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
如果想進行強制卸載,可以使用#umount -l /mnt (l代表lazy,懶的意思,此處可以當做省去切換目錄操作)
4.8 磁盤掛載(下)
mount 常用選項
#man mount
搜索到 defaults
Use default options: rw, suid, dev, exec, auto, nouser, and async.
defaults 是默認的,不加任何選項 一般就是defaults
-o option
ro 只讀
rw 可讀可寫
suid 允許分區文件設置suid權限
dev 分區關系
exec 是否可執行,如果noexce,這個分區下面的文件則沒有執行權利。
auto 自動掛載
nouser 普通用戶掛載不到,默認
async 對應sync,sync,文件和內容隨時寫入內存,會使硬盤壓力越來越大。async則相反,默認是async,async是過一會再同步,讓其有緩沖。
remount 重新掛載
*關鍵文件 /vi/etc/fstab
系統啟動,默認掛載了哪些磁盤,哪些分區,都是在此文件下進行配置
# /etc/fstab
# Created by anaconda on Sat Jan 20 01:12:40 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=ee52814c-cbd8-496e-8c0c-3dfb524bd752 / xfs defaults 0 0
UUID=723e348f-61a5-4fb4-920c-e0a0670da7b2 /boot xfs defaults 0 0
UUID=1d26d6c7-0e21-4c11-b655-73b1cf2863e1 swap swap defaults 0 0
/dev/sdb / xfs defaults 0 0
左到右 五列
設備 設備號 UUID(blkid查看)
掛載點
分區格式
掛載選項
是否備份 1備份 0不備份 早期需要備份,現在一般不備份
優先級 1,2 檢測,0不檢測(一般常用0)是否檢測硬盤有沒有故障 問題。
這種方法也可以同樣掛載UUID
[root@centos7 ~]# blkid
/dev/sda1: UUID="723e348f-61a5-4fb4-920c-e0a0670da7b2" TYPE="xfs"
/dev/sda2: UUID="1d26d6c7-0e21-4c11-b655-73b1cf2863e1" TYPE="swap"
/dev/sda3: UUID="ee52814c-cbd8-496e-8c0c-3dfb524bd752" TYPE="xfs"
/dev/sdb: UUID="3a209d80-d5b2-4488-8263-7bc81822a574" TYPE="xfs"
[root@centos7 ~]# umount /mnt
umount: /mnt:未掛載
[root@centos7 ~]# mount UUID="3a209d80-d5b2-4488-8263-7bc81822a574" /mnt
[root@centos7 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 28G 1001M 27G 4% /
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 97M 91M 52% /boot
tmpfs 99M 0 99M 0% /run/user/0
/dev/sdb 10G 33M 10G 1% /mnt
4.9 手動增加swap空間
某些服務需要很大的swap空間,所以需要做swap增大
創建模擬磁盤,100M小分區
dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
(dd命令操作磁盤,if指定源from路徑。/dev/zero 導零器。可以產生源源不斷的0。of目標to路徑。bs指定塊的大小。count=100M,count等於b*4=1M x 100s )
[root@centos7 ~]# dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
記錄了100+0 的讀入
記錄了100+0 的寫出
104857600字節(105 MB)已復制,0.459588 秒,228 MB/秒
[root@centos7 ~]# du -sh /tmp/newdisk
100M /tmp/newdisk
創建虛擬磁盤完成後,還需要格式化
因為swap是一種特殊文件系統,所以要用到#mkswap命令去格式化
#mkswap -f /tmp/newdisk
#free -m 查看swap 容量
total used free shared buff/cache available
Mem: 984 117 622 6 244 695
Swap: 2047 0 2047
[root@centos7 ~]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的權限 0644,建議使用 0600。
[root@centos7 ~]# free -m
total used free shared buff/cache available
Mem: 984 116 622 6 244 696
Swap: 2147 0 2147
[root@centos7 ~]# chmod 0600 /tmp/newdisk
[root@centos7 ~]# swapoff /tmp/newdisk
[root@centos7 ~]# free -m
total used free shared buff/cache available
Mem: 984 116 622 6 244 696
Swap: 2047 0 2047
[root@centos7 ~]# rm -f /tmp/newdisk
三周第五次課(2月9日)