︿
Top

文章目錄

1、Lab1. 建立新的 Mount Point (ex. /backup 1 GB)
2、Lab2. 設定 NFS Client
3、Lab3. 設定 NFS Client with Autofs
4、Lab4. 增加 SWAP 空間
5、Me FAQ
          Q1.Warning: Unable to open /dev/hdc read-write (Read-only file system). /dev/hdc has been opened read-only.

1、Lab 1. 建立新的 Mount Point (ex. /backup 1 GB)

使用 fdisk -l 指令,確認硬碟代號及類型 (IDE or SATA/SCSI/SAS)。
fdisk –l                                      
 Disk /dev/hda: 21.4 GB, 21474754560 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
   Device  Boot    Start       End         Blocks     Id  System
 /dev/hda1   *         1        33         265041     83  Linux
 /dev/hda2            34       686       5245222+     83  Linux
 /dev/hda3           687      1339       5245222+     83  Linux
 /dev/hda4          1340      2610      10209307+      5  Extended
 /dev/hda5          1340      1992        5245191     83  Linux
 /dev/hda6          1993      2253        2096451     82  Linux swap / Solaris

確定硬碟代號後即可利用 fdisk 指令來進行新增 Mount Point,此例為 /backup 分配空間為 1 GB
  1. fdisk /dev/hda:進入 fdisk 互動模式。
  2. p:列出目前硬碟使用狀況。
  3. n:新增掛載點。
  4. First cylinder:掛載點開始磁柱數 (按 Enter 即則預設值開始)。
  5. Last cylinder:掛載點結束磁柱數 (可輸入人類方便辨識的單位例如 +1GB)。
  6. w:將變更寫入硬碟內:

fdisk /dev/hda               //進入 fdisk 互動模式
 The number of cylinders for this disk is set to 2610.
 There is nothing wrong with that, but this is larger than 1024,
 and could in certain setups cause problems with:
 1) software that runs at boot time (e.g., old versions of LILO)
 2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 Command (m for help): p       //輸入 p 列出目前硬碟使用狀況
 Disk /dev/hda: 21.4 GB, 21474754560 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
   Device  Boot      Start         End       Blocks   Id  System
 /dev/hda1   *           1          33       265041   83  Linux
 /dev/hda2              34         686     5245222+   83  Linux
 /dev/hda3             687        1339     5245222+   83  Linux
 /dev/hda4            1340        2610    10209307+    5  Extended
 /dev/hda5            1340        1992      5245191   83  Linux
 /dev/hda6            1993        2253      2096451   82  Linux swap / Solaris
 Command (m for help): n        //輸入 n 新增掛載點
 First cylinder (2254-2610, default 2254):   //掛載點開始磁柱數 (按 Enter 即則預設值開始)
 Using default value 2254       //掛載點開始磁柱數
 Last cylinder or +size or +sizeM or +sizeK (2254-2610, default 2610): +1GB //掛載點結束磁柱數 (可輸入人類方便辨識的單位例如 +1GB)
 Command (m for help): p        //輸入 p 列出目前硬碟使用狀況 (確定剛才新增空間的代號,此例為 hda7)
 Disk /dev/hda: 21.4 GB, 21474754560 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *           1          33      265041   83  Linux
 /dev/hda2              34         686     5245222+  83  Linux
 /dev/hda3             687        1339     5245222+  83  Linux
 /dev/hda4            1340        2610    10209307+   5  Extended
 /dev/hda5            1340        1992     5245191   83  Linux
 /dev/hda6            1993        2253     2096451   82  Linux swap / Solaris
 /dev/hda7            2254        2376      987966   83  Linux     //新增的掛載點 (磁柱數為 2254 ~ 2376)
 Command (m for help): w        //將變更寫入硬碟內
 The partition table has been altered!
 Calling ioctl() to re-read partition table.
 WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
 The kernel still uses the old table.
 The new table will be used at the next reboot.
 Syncing disks.

新增掛載點完成後輸入 partprobe 指令套用讓系統知道新增此一分割區。
cat /proc/partitions      //未執行 partprobe 前無法看到剛才新增的掛載點 /dev/hda7
 major minor  #blocks  name
   3     0   20971440  hda
   3     1     265041  hda1
   3     2    5245222  hda2
   3     3    5245222  hda3
   3     4          0  hda4
   3     5    5245191  hda5
   3     6    2096451  hda6
partprobe                //執行 partprobe 後系統便可辨別新增的掛載點
cat /proc/partitions
 major minor #blocks   name
   3     0   20971440  hda
   3     1     265041  hda1
   3     2    5245222  hda2
   3     3    5245222  hda3
   3     4          0  hda4
   3     5    5245191  hda5
   3     6    2096451  hda6
   3     7     987966  hda7     //可辨別新增的掛載點 /dev/hda7

系統可辨別新增的掛載點後,再來就是對掛載點進行格式化,執行 mkfs.ext3 指令對新增的掛載點進行格式化硬碟標籤為 backup。
mkfs.ext3 –L backup /dev/hda7       //格式化為 EXT3 標籤為 backup
 mke2fs 1.39 (29-May-2006)
 Filesystem label=backup
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 123648 inodes, 246991 blocks
 12349 blocks (5.00%) reserved for the super user
 First data block=0
 Maximum filesystem blocks=255852544
 8 block groups
 32768 blocks per group, 32768 fragments per group
 15456 inodes per group
 Superblock backups stored on blocks:
         32768, 98304, 163840, 229376
 Writing inode tables: done
 Creating journal (4096 blocks): done
 Writing superblocks and filesystem accounting information: done
 This filesystem will be automatically checked every 37 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
blkid            //查看 Block ID
 /dev/hdc: LABEL="RHEL/5.3 i386 DVD" TYPE="iso9660"
 /dev/hda6: LABEL="SWAP-hda6" TYPE="swap"
 /dev/hda5: LABEL="/" UUID="4379ee11-e3dc-4d35-b421-a74a06942774" TYPE="ext3"
 /dev/hda1: LABEL="/boot" UUID="4536b014-2198-49cc-ab59-39edc75bf611" TYPE="ext3"
 /dev/hda2: LABEL="/var" UUID="1d1d6109-5fc4-4591-bb5d-c32a227b8215" TYPE="ext3"
 /dev/hda3: LABEL="/usr" UUID="898a71d5-b689-4487-a6a6-3c729b3971a6" TYPE="ext3"
 /dev/cdrom-hdc: LABEL="RHEL/5.3 i386 DVD" TYPE="iso9660"
 /dev/hda7: LABEL="backup" UUID="f4f565d1-0de5-4521-81c3-942d0532e8e6" SEC_TYPE="ext2" TYPE="ext3"      //格式化後的掛載點 (因為目前沒資料所以有 SEC_TYPE="ext2")
vi /etc/fstab     //修改掛載點設定檔 (新增如下一行,擇一即可)
 /dev/hda7       /backup    ext3    defaults   1 2      (方式一 掛載點採硬碟裝置名稱)
 LABEL=/backup   /backup    ext3    defaults   1 2      (方式二 掛載點採硬碟標籤)
mkdir /backup     //建立 backup 資料夾
mount –a          //套用,重新讀取 fstab
df –h
 Filesystem       Size  Used Avail Use% Mounted on
 /dev/hda5        4.9G  477M  4.2G  11% /
 /dev/hda3        4.9G  2.3G  2.4G  49% /usr
 /dev/hda2        4.9G  3.1G  1.6G  68% /var
 /dev/hda1        251M   21M  218M   9% /boot
 tmpfs            189M     0  189M   0% /dev/shm
 /dev/hda7        950M   18M  885M   2% /backup  //新增的掛載點 (可開始放資料進去)




2、Lab 2. 設定 NFS Client

設定 NFS Client 將 NFS Server 分享資源 /var/ftp/pub 掛載 (Mount) 至 NFS CLient 本機的 /mnt 下,掛載時本例為使用名稱 server 進行掛載若無法解析也可用 IP Address 進行掛載的動作。
showmount -e server                //顯示 NFS Server 分享的資源
 /var/ftp/pub 192.168.1.0          //分享目錄及允許 IP (或網段)
mount server:/var/ftp/pub /mnt    //先手動掛載 (順利運作之後再寫入 /etc/fstab)
umount /mnt                          //卸載

手動成功掛載後,將設定內容寫入 fstab 內那麼當系統重新開機時便會自動進行掛載,因為是掛載網路分享資源而不是本機資源最後檢查碼使用 0 0 即可。
vi /etc/fstab         //修改掛載點設定檔 (是 nfs 不是 ext3)
 server:/var/ftp/pub         /mnt  nfs  defaults  0 0  //使用名析解析進行掛載
 192.168.1.254:/var/ftp/pub  /mnt  nfs  defaults  0 0  //使用 IP Address 進行掛載
mount –a               //套用,重新讀取 fstab
df –h
 server:/var/ftp/pub           99M  5.6M   89M   6% /mnt




3、Lab 3. 設定 NFS Client with Autofs

設定 NFS Client 將 NFS Server 分享資源 /var/ftp/pub 掛載 (Mount) 至 NFS CLient 本機的 /mnt 下,配合設定 Autofs 那麼當 NFS Client 一段時間未使用掛載資源時會自動卸載對 NFS Server 的資源,但當 NFS Client 切換到 NFS Server 掛載目前時會自動將資源掛載回來,這樣的機制可以有效減少 NFS Server 負載並預防因為 NFS Server 發生問題時造成 NFS Client 無回應的問題。

下列設定僅說明 Autofs 部份關於 NFS Client 設定請參考 Lab2.
vi /etc/auto.master            //autofs 設定檔
 /misc   /etc/auto.misc
vi /etc/auto.misc              //autofs 設定檔
 server –rw,intr,soft   server:/var/ftp/pub
service autofs restart        //重新啟動 autofs 服務

設定完成後會將 NFS Server 分享的資源自動掛載路徑為 auto.master 指定的 /misc 加上 auto.misc 指定的 server 目錄,也就是對應到 /misc/server 資料夾。以後當 NFS Client 切換到此路徑 (/misc/server) 時就會自動掛載 NFS Server 分享的資源 (/var/ftp/pub),而當 NFS Client 在一段時間 (預設為 60 秒) 沒有任何動作後就會自動卸載。
cd /misc/server
df –h          
 server.example.com:/var/ftp/pub    99M  5.6M   89M   6%    /misc/server

或不用設定直接指定使用 /net + NFS Server 的 Host or IP 即可切換 (但此掛載的前提是 NFS Server 有允許此台主機存取)。

使用名稱解析進行掛載。
cd /net/server/var/ftp/pub ; df –h          //在 net 下是指定 Host or IP
 server:/var/ftp/pub                99M  5.6M   89M   6% /net/server/var/ftp/pub

使用 IP Address 進行掛載。
cd /net/192.168.0.254/var/ftp/pub ; df –h  //在 net 下是指定 Host or IP
 192.168.0.254:/var/ftp/pub  99M  5.6M   89M   6% /net/116.50.43.81/var/ftp/pub




4、Lab 4. 增加 SWAP 空間

此一實作將硬碟空間中新增 1GB 的 SWAP 空間給目前的系統使用。
fdisk /dev/hda              //進入 fdisk 互動模式
 The number of cylinders for this disk is set to 2610.
 There is nothing wrong with that, but this is larger than 1024,
 and could in certain setups cause problems with:
 1) software that runs at boot time (e.g., old versions of LILO)
 2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 Command (m for help): n      //輸入 n 新增掛載點
 First cylinder (2377-2610, default 2377):  //掛載點開始磁柱數 (按 Enter 即則預設值開始)
 Using default value 2377      //掛載點開始磁柱數
 Last cylinder or +size or +sizeM or +sizeK (2377-2610, default 2610): +1GB    //掛載點結束磁柱數 (可輸入人類方便辨識的單位例如 +1GB)
 Command (m for help): p    //輸入 p 列出目前硬碟使用狀況 (確定剛才新增空間的代號,此例為 hda8)
 Disk /dev/hda: 21.4 GB, 21474754560 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End       Blocks   Id  System
 /dev/hda1   *           1          33       265041   83  Linux
 /dev/hda2              34         686     5245222+   83  Linux
 /dev/hda3             687        1339     5245222+   83  Linux
 /dev/hda4            1340        2610    10209307+    5  Extended
 /dev/hda5            1340        1992      5245191   83  Linux
 /dev/hda6            1993        2253      2096451   82  Linux swap / Solaris
 /dev/hda7            2254        2376       987966   83  Linux
 /dev/hda8            2377        2499       987966   83  Linux  //新增的掛載點 (磁柱數為 2377 ~ 2499)
 Command (m for help): t      //輸入 t 變更磁區的類型
 Partition number (1-8): 8    //變更代號為 hda8
 Hex code (type L to list codes): 82    //磁區類型 82 為 SWAP (輸入 L 可查看所有可用類型列表)
 Changed system type of partition 8 to 82 (Linux swap / Solaris)
 Command (m for help): p      //輸入 p 列出目前硬碟使用狀況 (確定 hda8 類型為 SWAP)
 Disk /dev/hda: 21.4 GB, 21474754560 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *           1          33      265041   83  Linux
 /dev/hda2              34         686     5245222+  83  Linux
 /dev/hda3             687        1339     5245222+  83  Linux
 /dev/hda4            1340        2610    10209307+   5  Extended
 /dev/hda5            1340        1992     5245191   83  Linux
 /dev/hda6            1993        2253     2096451   82  Linux swap / Solaris
 /dev/hda7            2254        2376      987966   83  Linux
 /dev/hda8            2377        2499      987966   82  Linux swap / Solaris      //類型為 SWAP
 Command (m for help): w        //將變更寫入硬碟內
 The partition table has been altered!
 Calling ioctl() to re-read partition table.
 WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
 The kernel still uses the old table.
 The new table will be used at the next reboot.
 Syncing disks.

完成新增 1GB 的 SWAP 磁區空間後,接下來是讓系統能辨別此一新增的空間及如何讓系統增加目前空間至 SWAP 中。
partprobe                 //執行 partprobe 後系統便可辨別新增的掛載點
cat /proc/partitions    //確認系統便可辨別新增的掛載點 /dev/hda8
 major minor #blocks   name
   3     0   20971440  hda
   3     1     265041  hda1
   3     2    5245222  hda2
   3     3    5245222  hda3
   3     4          0  hda4
   3     5    5245191  hda5
   3     6    2096451  hda6
   3     7     987966  hda7
   3     8     987966  hda8
mkswap -L newswap /dev/hda8     //格式化 hda8 為 SWAP (標籤為 newswap)
 Setting up swapspace version 1, size = 1011671 kB
 LABEL=newswap, no uuid
blkid        //查看 Block ID (確定 Label Name及 Type 為SWAP是否正確)
 /dev/hdc: LABEL="RHEL/5.3 i386 DVD" TYPE="iso9660"
 /dev/hda6: TYPE="swap" LABEL="SWAP-hda6"
 /dev/hda5: LABEL="/" UUID="4379ee11-e3dc-4d35-b421-a74a06942774" TYPE="ext3"
 /dev/hda1: LABEL="/boot" UUID="4536b014-2198-49cc-ab59-39edc75bf611" TYPE="ext3"
 /dev/hda2: LABEL="/var" UUID="1d1d6109-5fc4-4591-bb5d-c32a227b8215" TYPE="ext3"
 /dev/hda3: LABEL="/usr" UUID="898a71d5-b689-4487-a6a6-3c729b3971a6" TYPE="ext3"
 /dev/cdrom-hdc: LABEL="RHEL/5.3 i386 DVD" TYPE="iso9660"
 /dev/hda7: LABEL="backup" UUID="f4f565d1-0de5-4521-81c3-942d0532e8e6" SEC_TYPE="ext2" TYPE="ext3"
 /dev/hda8: LABEL="newswap" TYPE="swap"
vi /etc/fstab       //修改掛載點設定檔 (新增如下一行,擇一即可)
 LABEL=newswap  swap  swap  defaults 0 0   //(方式一 掛載點採硬碟標籤)
 /dev/hda8      swap  swap  defaults 0 0   //(方式二 掛載點採硬碟裝置名稱)
swapon –s      //顯示目前 SWAP
 Filename       Type            Size      Used    Priority
 /dev/hda6      partition       2096440   0       -1
free           //查看目前系統實體記憶體及 SWAP 使用狀態 (目前 SWAP 為 2GB)
              total       used       free     shared    buffers     cached
 Mem:        385400     327704      57696          0     135488     109420
 -/+ buffers/cache:      82796     302604
 Swap:      2096440          0    2096440
swapon –a     //重新讀取 /etc/fstab 載入有關 SWAP 的項目
swapon -s     //顯示目前 SWAP 可看到新增的 hda8 加入
 Filename      Type          Size       Used    Priority
 /dev/hda6     partition     2096440    0       -1
 /dev/hda8     partition     987956     0       -2
free          //查看目前系統實體記憶體及 SWAP 使用狀態 (SWAP 增加至 3GB)
              total       used       free     shared    buffers     cached
 Mem:        385400     328072      57328          0     135576     109420
 -/+ buffers/cache:      83076     302324
 Swap:      3084396          0    3084396

如何將新增的 SWAP 刪除?
swapoff –a    //把所有 SWAP 都關閉
swapon -s     //顯示目前 SWAP (已關閉所有 SWAP)
free          //查看目前系統實體記憶體及 SWAP 使用狀態 (SWAP 為 0)
              total       used       free     shared    buffers     cached
 Mem:        385400     327076      58324          0     135580     109424
 -/+ buffers/cache:      82072     303328
 Swap:            0          0          0
vi /etc/fstab    //修改掛載點設定檔 (註解 hda8)
 /dev/hda8      swap  swap  defaults 0 0     //註解要關閉的 SWAP 磁區代號
swapon -a        //重新讀取 /etc/fstab 載入有關 SWAP 的項目
swapon -s        //顯示目前 SWAP
 Filename       Type          Size       Used    Priority
 /dev/hda6      partition     2096440    0       -3
free
              total       used       free     shared    buffers     cached
 Mem:        385400     327812      57588          0     135772     109424
 -/+ buffers/cache:      82616     302784
 Swap:      2096440          0    2096440

關閉新增的 SWAP 空間後再進入 fdisk 互動模式將 hda8 刪除即可。



5、Me FAQ

Q1. Warning: Unable to open /dev/hdc read-write (Read-only file system). /dev/hdc has been opened read-only.

Error Message:
執行 partprobe 時出現如下錯誤訊息?
Warning: Unable to open /dev/hdc read-write (Read-only file system)./dev/hdc has been opened read-only.
Ans:
此訊息發生的原因為,您掛載光碟機且光碟機內有光碟片,所以當然是 Read-only file system 只要您將卸載 (umount) 光碟機並且再度執行 partprobe 指令便不會出現此錯誤訊息。
文章標籤: