天天看點

Centos 磁盤管理(二)

/etc/fstab

啟動Linux、mount、 fsck 指令等指令執行都都會用到fstab資訊,它提供的是系統上挂載裝置的靜态資訊,比如 mount -a 就會挂載 /etc/fstab 裡面指定的檔案系統。當執行mount -a時隻會挂載那些存在于/etc/fstab中的項目卻未挂載的,已經挂載的不受影響。

/etc/mtab 是相對動态的。記載目前系統已經裝載的檔案系統,包括一些作業系統虛拟檔案,這跟/etc/fstab有些不同。/etc/mtab檔案在mount挂載、umount解除安裝時都會被更新,時刻跟蹤目前系統中的分區挂載情況。當使用mount -n 時不會更新此檔案,是以在某些指令會隐藏相對挂載情況。此檔案在Centos7後變成了/proc/self/mounts的軟連結。

/proc/mounts

這個檔案是/proc/self/mounts的軟連結,/proc下面的檔案都是儲存在記憶體中的,是核心自動生成的。是以/proc/mounts比/etc/mtab檔案能更加真實的反映目前mount的情況。

Centos 6

Centos 7

使用mount -n 挂載後

可以通過比較/etc/fstab和/proc/mounts中的不同之處,得到被umount的裝置

變相進行跨分區的硬連結

如果使用mount -B進行目錄挂載目錄的時候,/etc/fstab下的格式必須這麼寫

/源目錄 /挂載目錄 none bind

在/etc/fstab中提定defaults時,将包含以下挂載選項

Centos6-(2.6.30核心以後)defaults:rw, suid, dev, exec, auto, nouser, async,  relatime.

Centos7-defaults:rw, suid, dev, exec, auto, nouser, async, relatime

利用目錄挂載目錄特點,可以同一個磁盤分區分别進行不同的磁盤挂載選項。

可以對檔案建立檔案系統,也就是本地loop裝置

執行個體

#dd if=/dev/zero of=partfile bs=1M count=1024

可以建立成功,

同樣的有Superblock資訊哦

但是并不能進行分區操作哦

#mount -o loop /mnt/partfile /app/partloop/

可以進行磁盤檔案操作的

複制到其他機器也是可以進行挂載使用的

Centos 6預設系統隻有8個loop裝置,手動使用mknod(#mknod loop8 c 1 5)建立的第8個以上的loop裝置将會丢失,是以,如果想用更多的裝置,請按以下方式添加

修改/boot/grub/grub.conf,找到 kernel這一行,在行末端加入max_loop=數量

loop裝置如果需要開機挂載,需要在/etc/fstab按以下格式設定,

Centos6  必須要加上loop選項

/mnt/partfile /app/partloop  ext4  defaults,loop  0  0

Centos7

與普通挂載沒什麼差別,注意檔案系統格式不要搞錯了。

/mnt/partfile   /mnt/filesystem  ext4 defaults 0 0

/etc/fstab格式

第一列:磁盤裝置檔案或者該裝置的Label或者UUID。強烈建議使用UUID形式,裝置名和Label都有可能發生變化。CD光牒沒有UUID

第二列:裝置的挂載點,就是你要挂載到哪個目錄下

第三列:磁盤檔案系統的格式。如果是目錄挂載目錄,則表示為none bind

第四列:檔案系統的參數

async/sync

設定是否為同步方式運作,預設為async

atime/noatime

是否每一次通路檔案與目錄都更新inode通路時間(access time)

diratime/nodiratime

是否每一次通路目錄都更新inode通路時間(access time)

auto/noauto

mount -a 的指令時,此檔案系統是否被主動挂載。預設為auto

exec/noexec

限制此檔案系統内是否能夠進行"執行x"的操作

dev/nodev

是否支援在此檔案系統上使用裝置檔案

suid/nosuid

是否允許SUID權限的存在

remount

重新挂載一個已經挂載了的檔案系統而不修改其挂載點,立即生效

user/nouser

是否允許普通使用者挂載此裝置

usrquota

啟用檔案系統支援磁盤配額使用者級模式

grpquota

啟用檔案系統支援磁盤配額組級模式

rw

是否以讀寫模式挂載

ro

是否以隻讀模式挂載

acl

啟用此檔案系統上的acl功能

loop

使用loop裝置

none bing

目錄挂載目錄時使用

relatime

按照檔案被修改的時間更改inode通路時間。也就是僅在檔案的修改時間

比通路時間新時才更新通路時間。

與 noatime 類似,但是可以讓 mutt 之類需要知道檔案在最後一次被修改後

是否被通路過的程式正常工作。

從 Linux 2.6.30 起,這是預設值(除非指定了 noatime)。

從 Linux 2.6.30 起,如果檔案的最後通路時間已超過24小時未更新,

也會被強制更新。

defaults

相當于rw, suid, dev, exec, auto, nouser, async, relatime

pri=數字

設定swap檔案的優先級,僅僅對swap分區有效果

第五列:能否被dump備份指令作用:dump是一個用來作為備份的指令。通常這個參數的值為0或者1

代表不要做dump備份

1

代表要每天進行dump的操作

2

代表不定日期的進行dump操作

第六列:是否檢驗扇區:開機的過程中,系統預設會以fsck檢驗我們系統是否為完整(clean狀态)。

不要檢驗

最早檢驗(一般根目錄會選擇)

1級别檢驗完成之後進行檢驗

建立額外的swap交換檔案

系統安裝好時候如果建立的swap分區小了,是無法進行擴容大。但是可以通過新增加一個swap檔案進行擴容。

準備一個磁盤分區或前面講到的loop裝置,(但是,用檔案建立的loop裝置swap檔案,性能肯定不如獨立的分區性能好)

将檔案系統格式化:編号為82的Linux swap。

使用#mkswap專用指令進行格式化

将此UUID寫入/etc/fstab下面,注意格式(如下圖)

先看看增加swap前的數值

使用指令# swapon -a生效

使用swapon -s 或#cat /proc/swaps檢視詳細的資訊,包括優先級(Priority),優先級數字越大的優先使用。

設定swap的優先級需要修改/etc/fstab,想哪個優先使用将設定數值大一些

将新設定生效,注意,一定嚴格步驟,以下2種方式都可以

#swapoff UUID=ad2786dd-6056-4ea6-ba6a-c2915bab280f

#swapoff /dev/sdb1

再重新挂載/etc/fstab中的swap即可

總結:

可以指定swap分區0到32767的優先級,值越大優先級越高。如果使用者沒有指定,那麼核心會自動給swap指定一個優先級,這個優先級從-1開始,每加入一個新的沒有使用者指定優先級的swap,會給這個優先級減一

先添加的swap的預設優先級比較高,除非使用者自己指定一個優先級,而使用者指定的優先級(是正數)永遠高于核心預設指定的優先級(是負數)

優化性能:分布存放,高性能磁盤存放

關于CD光牒的裝置号,編寫腳本的時候可以統一使用/dev/cdrom來通路

關于eject指令,可以使用來彈出光驅或磁盤。

實際應用場景,如果在管理非常多的主機的時候,發現其中有一台上面有一個磁盤壞的時候,可以将其上面的光驅彈出,以便立即發現變化的主機,進而準确定位。

eject 彈出光驅托盤

ejetc -t 收起光驅托盤

關于制作CD光牒ISO,最簡單的方式就是

cp /dev/cdrom file.iso

dd if=/dev/cdrom of=file.iso

本文轉自 ljpwinxp 51CTO部落格,原文連結:http://blog.51cto.com/191226139/2051185

繼續閱讀