檔案系統管理(三)

SWAP 管理

SWAP 可以是一個分割區,也可以是一個檔案。

製作一個 SWAP Partition 方式如下:
# swapon -s (先看一下現在掛載的 SWAP 有那些)
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       5245212 84      -1
(只有分割區 /dev/sda2)

# parted /dev/sda mkpartfs logical linux-swap 133GB 143GB
(用 parted 分割 /dev/sda 裝置,使用 mkpartfs 不但分割出邏輯磁碟區,同時製作檔案系統為 SWAP,從 133GB 處至 143GB 處)
# parted /dev/sda print (看一下製作出來的成果)
Model: ATA ST3160815AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End    Size    Type        File system  旗標
1      32.3kB  107GB  107GB   主分割區    ext3         啟動
2      107GB   113GB  5371MB  主分割區    linux-swap
3      113GB   160GB  47.3GB  擴充分割區               lba
5      113GB   123GB  10.3GB  邏輯分割區  ext3
6      123GB   133GB  10.0GB  邏輯分割區  ext3
7      133GB   143GB  9994MB  邏輯分割區  linux-swap
(新增出來的 SWAP 分割區)
資訊: 如果必要,不要忘記更新 /etc/fstab。
# mkswap -L SWAP-sda7 /dev/sda7 (以 mkswap 來設定 SWAP 分割區,並增加標籤為 SWAP-sda7)
Setting up swapspace version 1, size = 9993678 kB
LABEL=SWAP-sda7, no uuid

# swapon /dev/sda7 (將 /dev/sda7 掛載起來)
# swapon -s (列出所有的 SWAP)
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       5245212 0       -3
/dev/sda7                               partition       9759448 0       -5
(已成功掛載)

#swapoff  -a (先把所有的 SWAP 用 swapoff 指令卸除)
#swapon  -s
(沒有任何 SWAP 掛載)

# vi /etc/fstab
(修改 fstab,增加底下這一行)
LABEL=SWAP-sda7      swap      swap      defaults      0  0

# swapon -a (使用 swapon  -a 來啟用所有在 /etc/fstab 中設定的 SWAP)
# swapon -s (列出現有的 SWAP)
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       5245212 84      -1
/dev/sda7                               partition       9759448 0       -2
(已成功掛載所有的 SWAP)

==============================

另外也可以用檔案的方式掛載 SWAP:

先製作一個空白的檔案
# dd if=/dev/zero of=/SWAP_FILE bs=1M count=1000
(用 dd 輸入為 /dev/zero 輸出為 /SWAP_FILE 單位位元為 1M 共複製 1000 次,所以會產生 1G 的空白檔案)
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied,7.41674 秒,141 MB/s

# chmod 600 /SWAP_FILE (最好是將它的權限設為 600)

# mkswap -L SWAPfile /SWAP_FILE (設定該檔案為 SWAP 檔案,並設定標籤為 SWAPfile)
Setting up swapspace version 1, size = 1048571 kB
LABEL=SWAPfile, no uuid

# swapon -s (看一下現在的 SWAP 狀況)
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       5245212 0       -10
/dev/sda7                               partition       9759448 0       -11

# swapon /SWAP_FILE (用 swapon 將根目錄下 SWAP_FILE 這個檔案掛載起來)
# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       5245212 0       -10
/dev/sda7                               partition       9759448 0       -11
/SWAP_FILE                           file 1023992 0       -12
(掛載成功)

設定在 /etc/fstab 中使之開機時自動掛載
# vi /etc/fstab (加入底下一行)
LABEL=SWAPfile    swap    swap    defaults    0  0

# swapoff -a (先全部關掉)
# swapon -a (全部掛載)
# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       5245212 0       -13
/dev/sda7                               partition       9759448 0       -14
/SWAP_FILE                              file            1023992 0       -15

==============================

掛載 NFS 檔案系統

當 NFS 檔案系統掛載起來之後,使用上和本機檔案系統沒有兩樣,掛載 NFS 檔案系統可用手動 mount 掛載或是在 /etc/fstab 中設定。

# showmount -e 192.168.0.2 (先檢查一下 192.168.0.2 分享出來的目錄)
Export list for 192.168.0.2:
/var/ftp/pub 192.168.0.0/24
(果然分享出 /var/ftp/pub 給 192.168.0.0/24 這個網段)

# mkdir /mnt/nfs (先建立一個掛載點)
# ls /mnt/nfs
(裡面是空的)

# mount -t nfs 192.168.0.2:/var/ftp/pub /mnt/nfs (掛載 NFS 檔案系統至 /mnt/nfs)
語法是 mount  -t  nfs  SERVER:/SHARE_DIRECTORY /MOUNT_POINT

# ls /mnt/nfs
192.168.0.2.NFS    (多了 NFS 中的檔案)

# df -h
檔案系統              容量  已用 可用 已用% 掛載點
/dev/mapper/VolGroup00-LogVol00
18G  5.7G   11G  35% /
/dev/sda1              99M   22M   73M  24% /boot
tmpfs                 506M     0  506M   0% /dev/shm
192.168.0.2:/var/ftp/pub   18G  5.7G   11G  35% /mnt/nfs
(多了這個檔案系統掛載)

#umount /mnt/nfs (先卸載 /mnt/nfs 這個掛載點)
# df -h
檔案系統              容量  已用 可用 已用% 掛載點
/dev/mapper/VolGroup00-LogVol00
18G  5.7G   11G  35% /
/dev/sda1              99M   22M   73M  24% /boot
tmpfs                 506M     0  506M   0% /dev/shm

編輯 /etc/fstab 來掛載 NFS 檔案系統

# vi /etc/fstab (加入底下這一行)
192.168.0.2:/var/ftp/pub    /mnt/nfs    nfs    defaults    0  0

# mount -a (掛載所有 /etc/fstab 中的檔案系統)
# df -h
檔案系統              容量  已用 可用 已用% 掛載點
/dev/mapper/VolGroup00-LogVol00
18G  5.7G   11G  35% /
/dev/sda1              99M   22M   73M  24% /boot
tmpfs                 506M     0  506M   0% /dev/shm
192.168.0.2:/var/ftp/pub
18G  5.7G   11G  35% /mnt/nfs
(掛載成功)

NFS 掛載選項

使用 mount 掛載時,可帶 -o 的參數來設定選項,而在 /etc/fstab 中則可以在第 4 欄加入選項:
rsize:讀 NFS 檔案時的區塊大小,預設是 1024,區域網路環境可加大一些
wsize:寫 NFS 檔案時的區塊大小,預設是 1024,區域網路環境可加大一些
fg:在前景掛載,預設值
bg:在背景掛載
soft:軟性掛載,斷線後會用 RPC 呼叫伺服器,一段時間後再呼叫
hard:硬性掛載,斷線後會用 RPC 不停呼叫伺服器,預設值
intr:當使用硬性掛載,在呼叫伺服器時可以中斷呼叫
nolock:停用 lockd 以相容於舊式 NFS 伺服器

==============================