2011年4月30日 星期六

掛載1顆硬碟當squid空間

1.fdisk -l 檢查1顆硬碟的分割設定,有開機設定。
#fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        4800    38555968+  83  Linux

Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14      182401  1465031610   8e  Linux LVM

2.     fdisk /dev/hda
2.1  m-help
2.2  d-delete partition,1-partition,delete  Boot  *  開機設定

2.3  p-print screen
2.4  n-creation a new partition 1-partition,1-77000sector
2.5  p-print screen
2.6  w-write and quit

3.  mkfs -t ext3 -j -L "squid" /dev/hda1
選項與參數:
-b  :可以設定每個 block 的大小,目前支援 1024, 2048, 4096 bytes 三種;
-i  :多少容量給予一個 inode 呢?
-c  :檢查磁碟錯誤,僅下達一次 -c 時,會進行快速讀取測試;
      如果下達兩次 -c -c 的話,會測試讀寫(read-write),會很慢~
-L  :後面可以接標頭名稱 (Label),這個 label 是有用的喔!e2label指令介紹會談到~
-j  :本來 mke2fs 是 EXT2 ,加上 -j 後,會主動加入 journal 而成為 EXT3。
4.fsck -C -f -t ext3 /dev/hda1
選項與參數:
-t  :如同 mkfs 一樣,fsck 也是個綜合軟體而已!因此我們同樣需要指定檔案系統。
      不過由於現今的 Linux 太聰明了,他會自動的透過 superblock 去分辨檔案系統,
      因此通常可以不需要這個選項的囉!請看後續的範例說明。
-A  :依據 /etc/fstab 的內容,將需要的裝置掃瞄一次。/etc/fstab 於下一小節說明,
      通常開機過程中就會執行此一指令了。
-a  :自動修復檢查到的有問題的磁區,所以你不用一直按 y 囉!
-y  :與 -a 類似,但是某些 filesystem 僅支援 -y 這個參數!
-C  :可以在檢驗的過程當中,使用一個長條圖來顯示目前的進度!

EXT2/EXT3 的額外選項功能:(e2fsck 這支指令所提供)
-f  :強制檢查!一般來說,如果 fsck 沒有發現任何 unclean 的旗標,不會主動進入
      細部檢查的,如果您想要強制 fsck 進入細部檢查,就得加上 -f 旗標囉!
-D  :針對檔案系統下的目錄進行最佳化配置。
 
5.badblocks -sv /dev/hda1
選項與參數:
-s  :在螢幕上列出進度
-v  :可以在螢幕上看到進度
-w  :使用寫入的方式來測試,建議不要使用此一參數,尤其是待檢查的裝置已有檔案時!

6. mkdir /squid
選項與參數:
-a  :依照設定檔 /etc/fstab 的資料將所有未掛載的磁碟都掛載上來
-l  :單純的輸入 mount 會顯示目前掛載的資訊。加上 -l 可增列 Label 名稱!
-t  :與 mkfs 的選項非常類似的,可以加上檔案系統種類來指定欲掛載的類型。
      常見的 Linux 支援類型有:ext2, ext3, vfat, reiserfs, iso9660(光碟格式),
      nfs, cifs, smbfs(此三種為網路檔案系統類型)
-n  :在預設的情況下,系統會將實際掛載的情況即時寫入 /etc/mtab 中,以利其他程式
      的運作。但在某些情況下(例如單人維護模式)為了避免問題,會刻意不寫入。
      此時就得要使用這個 -n 的選項了。
-L  :系統除了利用裝置檔名 (例如 /dev/hdc6) 之外,還可以利用檔案系統的標頭名稱
      (Label)來進行掛載。最好為你的檔案系統取一個獨一無二的名稱吧!
-o  :後面可以接一些掛載時額外加上的參數!比方說帳號、密碼、讀寫權限等:
      ro, rw:       掛載檔案系統成為唯讀(ro) 或可讀寫(rw)
      async, sync:  此檔案系統是否使用同步寫入 (sync) 或非同步 (async) 的
                    記憶體機制,請參考檔案系統運作方式。預設為 async。
      auto, noauto: 允許此 partition 被以 mount -a 自動掛載(auto)
      dev, nodev:   是否允許此 partition 上,可建立裝置檔案? dev 為可允許
      suid, nosuid: 是否允許此 partition 含有 suid/sgid 的檔案格式?
      exec, noexec: 是否允許此 partition 上擁有可執行 binary 檔案?
      user, nouser: 是否允許此 partition 讓任何使用者執行 mount ?一般來說,
                    mount 僅有 root 可以進行,但下達 user 參數,則可讓
                    一般 user 也能夠對此 partition 進行 mount 。
      defaults:     預設值為:rw, suid, dev, exec, auto, nouser, and async
      remount:      重新掛載,這在系統出錯,或重新更新參數時,很有用!
 
7. mount /dev/hda1 /squid
8. mount -l
[root@localhost ~]# mount -l
/dev/mapper/VG0-LV0 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/mapper/VG0-LV2 on /usr type ext3 (rw)
/dev/mapper/VG0-LV6 on /tmp type ext3 (rw)
/dev/mapper/VG0-LV4 on /var type ext3 (rw)
/dev/mapper/VG0-LV3 on /var/spool/mail type ext3 (rw)
/dev/mapper/VG0-LV5 on /home type ext3 (rw)
/dev/sda1 on /boot type ext3 (rw) [/boot]
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /var/lib/xenstored type tmpfs (rw)
/dev/hda1 on /squid type ext3 (rw) [squid]
9.
  • umount (將裝置檔案卸載)
[root@www ~]# umount [-fn] 裝置檔名或掛載點 選項與參數: -f :強制卸載!可用在類似網路檔案系統 (NFS) 無法讀取到的情況下; -n :不更新 /etc/mtab 情況下卸載。
 
10. nano /etc/fstab
/dev/hda1               /squid                  ext3    defaults        1 2
11.df 
參考

    第八章、Linux 磁碟與檔案系統管理 
http://linux.vbird.org/linux_basic/0230filesystem.php#fdisk 

沒有留言:

張貼留言