天天看點

檔案系統管理

格式化相關指令

cat /proc/filesystems    檢視目前核心所支援的檔案系統類型

   沒顯示的未必不支援,隻要以後核心裝載了相應子產品就能支援

mkfs            建立檔案系統(擴充分區本身無法建立,其下邏輯分區可以建立)

   -tFSTYPE  分區

   mkfs -t ext2 /dev/sdb5     等于    mkfs.ext2 /dev/sdb5

   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.msdos   mkfs.vfat(FAT32)

mke2fs        專門管理ext系列檔案系統的指令

   -jext3

   -b    BLOCK_SIZE    預設為1024、2048、4096

   -L    LABEL             制定分區卷标mke2fs -L MYDATE -m 3 /dev/sdb5

   -m   #                    制定預留給超級使用者的塊數百分比

   -i    4096                多少個位元組一個INode,預設為8192,這裡給出的數值應該為塊大小,2^n倍數

   -n   #                     制定要建立INode的個數

   -F                          強制建立檔案系統(在已經被挂載的時候使用)

   -E                          制定條帶大小(條帶=CHUNK/BLOCK)

blkid            檢視裝置基本相關屬性

   UUID     硬碟多的時候可以應用,絕對唯一

   TYPE      檔案系統類型

   LABEL    卷标

   形如    /dev/sdb5: UUID="88284dcb-082e-41f1-812e-c7852d87632a" TYPE="ext2

e2label        檢視卷标或者設定卷标

   e2label /dev/sdb5 MYDD

tune2fs        調整檔案系統的相關屬性(當已經有資料的時候,無損調整)

   -j             調整到ext3

   -L            設定或者修改卷标

   -m    #    調整預留百分比,如果mke2fs時候忘了制定-m #

   -r            制定預留塊數

   -o           設定預設挂在選項

                   acl

   -c    #      制定挂載次數達到#次之後進行自檢,0或-1表示關閉此功能

   -i    #      每挂載使用多少天後進行自檢,0或者-1表示關閉此功能

   -l            顯示超級中的資訊,很關鍵

dumpe2fs    非常詳細,所有資訊都列出來

   -h          隻顯超級塊資訊

fsck            檢查并修複Linux檔案系統

   -t    FSTYPE    指定檔案系統類型不指可以,它能判斷,但指錯了就出事了

   -a                自動修複不詢問,自動完成修複

e2fsck        專門修複ext系列檔案系統

   -f            強制檢測就算沒有問題也檢查一遍

   -p            預設選項是-p,也是自動修複,為了相容fsck,也提供了-a

   -a            自動修複

                  RHEL 6 以後也能相容 不過2變為4

挂載相關指令

注釋:挂載可以将新的檔案系統關聯至目前根檔案系統

mount                裝置                挂載點(目錄)

                         裝置包括         裝置檔案/dev/sdb5

                                               卷标LABEL=“”

                                               UUIDUUID=“”

挂載點(目錄)

   此目錄沒有被其他程序使用

   目錄得事先存在

   目錄中的原有的檔案将會暫時隐藏

   挂在完成後,要通過挂載點通路對應檔案系統上的檔案

Usage:

mount [options][-o options] DEVICE MOUNT_POINT

   -a    表示/etc/fstab檔案中定義的所有檔案系統

   -n    預設情況下,mount指令每改在一個裝置,都會把挂載的裝置資訊儲存至/etc/mtab檔案

   -n    表示挂在裝置時,不寫入此檔案

   -t    FSTYPE制定正在挂載裝置上的檔案系統類型,預設不寫會它會調用blkid指令擷取類型

   -r    隻讀挂在挂載CD光牒時常用此選項

   -w  讀寫挂在預設是讀寫挂載

   -o   制定額外的挂在選項,也制定檔案熊

       async        異步寫入沒有直接儲存至硬碟中預設不寫就是異步

       atime        頻繁通路就會磁盤産生磁盤IO

       noatime

       auto        自動挂載

       exec        限制二進制程式自動運作

       netdev    通路不到就跳過,否則别人機器不開機,你系統就啟動不起來

       remount 重新挂載目前檔案系統,解除安裝+挂載

       ro           挂載為隻讀

       rw          讀寫挂載

       sync       同步寫入

       suid       不安全的做法,不要讓外來裝置啟用suid

       nosuid

               mount /dev/sdb5 /mnt/test            讀寫

               mount -o remount,ro /dev/sdb5     重新挂載為隻讀

解除安裝相關指令

注釋:解除安裝将某檔案系統從目前根檔案系統的關聯關系移除

umount        裝置     or   挂載點

                   挂載的裝置沒有被使用

練習

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>1、調整其預留百分比為3%</code>

<code>    </code><code>tune2fs -m 3 -L DATA </code><code>/dev/sdb5</code>

<code>2、以重新挂載的方式挂載此檔案系統為不更新通路時間戳,并驗證其效果</code>

<code>    </code><code>stat </code><code>/backup/inittab</code>

<code>    </code><code>cat</code> <code>/backup/inittab</code>

<code>    </code><code>stat </code><code>/backup/inittab</code>    <code>有變化</code>

<code>    </code><code>mount</code> <code>-o remount,noatime </code><code>/backup</code>

<code>    </code><code>stat </code><code>/backup/inittab</code>    <code>無變化</code>

<code>3、對此檔案系統強行做一次檢測</code>

<code>    </code><code>e2fsck -f </code><code>/dev/sdb5</code>

<code>4、删除複制而來的所有檔案,并将此檔案系統重新挂載為同步(</code><code>sync</code><code>),而後再次複制</code><code>/etc</code><code>目錄</code>

<code>    </code><code>mount</code> <code>-o remount,ro,</code><code>sync</code> <code>/dev/sdb5</code>    <code>比異步慢太多了</code>

虛拟記憶體

虛拟位址,線性位址能實作在每個程序看來自己都擁有出核心占用記憶體以外的所有記憶體。

   核心自動維護着一張記憶體映射表,并且把每個程序使用的記憶體映射到真正實體記憶體并記錄位置。

   每個程序都認為自己可以使用除核心占用記憶體以外的所有記憶體(虛拟位址),可真實實體記憶體有限。

   當真實實體記憶體填滿又有新的程序請求以後,核心自動把那些很久沒相應的程序占用的記憶體移至硬碟模拟的swap中。

   把移動至swap程序占用的實體記憶體空間賦予給新請求。

   當被移至swap的程序發起請求時候,核心會重複之前操作,找出很久每相應的程序移至swap中,并把位址賦予新請求。

   是以說一個程序被移至swap之後,下次請求使用的實體位址可能不一樣,但程序感覺不到,隻是不同實體位址的相同資料和大小

   允許了記憶體過載使用。

   pageout = swapin

   pagein  = swapout

buffers&amp;&amp;cached

   都是為了銜接兩個速度不同的裝置,隻是銜接方式目錄不相同,加速作業系統程序。

   buffers為了避免過慢的裝置遭到沖擊

       中繼資料    /var/log/message    查找過程的緩存    記憶體對應檔案路徑

   cached重複使用資料

       資料    /var/log/message    message資料塊儲存在記憶體中page

    程序使用直接找記憶體,儲存也儲存在記憶體中

                   程序關閉同步記憶體資料對硬碟相關

建立swap分區

   首先要用fdisk         調整分區類型為82

   mkswap /dev/sdb5

               -L    LABEL

   swapon /dev/sdb5    啟用交換分區

               -a    啟用所有定義在/etc/fstab檔案中的交換裝置

   swapoff /dev/sdb5關閉交換分區

當磁盤已經沒有空閑分區可以建立交換分區,但某些分區還有很多空間可以使用的時候,如何建立交換分區?目前主機上交換分區已經不夠用了,應該怎麼辦?

回環裝置

   loopback,使用軟體模拟實作硬體

cp和dd的差別

   cp    以檔案為機關先通過VFS接口道記憶體,再把檔案複制到相應位置

   dd    底層的資料流直接複制01代碼

   dd if=SRCof=DES

   dd if=/etc/inittab of=/path/to/somefile

   bs=1024位元組

   count一共複制多少這樣的位元組

備份MBR(一個硬碟最開始出的512位元組)

   dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count1

還原MBR

   dd if=/mnt/usb/mbr.backup of=/dev/dsa bs=512 count1

制作磁盤鏡像

   cat /dev/cdrom &gt; /root/rehel5.iso

建立鏡像檔案1G大小,并變為swap分區使用

   dd if=/dev/zero of=/var/swapfile bs=1M count=1024    建立1G大小的鏡像檔案

   mkswap /var/swapfile    将此檔案變為swap類型(如果磁盤分區需要使用fdisk 調整分區類型為82),這裡不需要。

   swapon /var/swapfile    将此檔案添加進swap中

   這個性能更差,不過江湖救急可以使用,哈哈。

   /dev/null    資料黑洞

   /dev/zero    0輸出器

   dd if=/dev/zero of=/var/swapfile bs=1M count=1024

       seek    跳過已經建立檔案

   dd if=/dev/zero of=/var/swapfile2 seek=1023 bs=1M count=1M

       建立一個1024M檔案,隻不過前面1023M是假的,跳過去。

   ls -lh /var/swapfile2     顯示1G

   du -h  /var/swapfile2    顯示1.1M

mount指令挂載ios鏡像

   mount -o loop /tmp/rhci-5.8-1.iso  /media/

               -o loop    挂載本地回環裝置

檔案系統的配置檔案    /etc/fstab    自動挂載

   OS在初始化時會自動挂在此檔案中定義的每一個檔案系統(格式如下)

   挂載裝置              /dev/sdb5

   挂載點                 /mnt/test

   檔案系統類型       ext3

   挂載選項             defaults

   轉儲頻率(每多少天做一次完全備份)    0

   檔案系統檢測次序(隻有根可以為1,0表示不檢查)    0

fuser    驗正程序正在使用的檔案或套接字

       -v    檢視某檔案正在運作的程序

       -k    結束正在通路的檔案程序(使用者)

       -m  結束正在通路此挂載點的程序(使用者)

       fuser -km /back/    終止正在通路此挂載點的所有程序

<code>1、建立一個5G的分區,檔案系統為ext3,卷标為MYDATA,塊大小為1024,預留管理空間為磁盤3%,開機後可以自動挂在至</code><code>/data</code><code>目錄,并且自動挂載的裝置要使用卷标引進引用</code>

<code>    </code><code>mke2fs -j -m 3 -L MYDATA </code><code>/dev/sdbx</code>

<code>2、建立一個本地回環檔案</code><code>/var/swaptemp/swapfile</code><code>來用于swap,要求大小為512MB,卷标為SWAP-FILE,且開機自動啟用此交換裝置。</code>

<code>    </code><code>mkdir</code> <code>/var/swaptemp</code>

<code>    </code><code>dd</code> <code>if</code><code>/dev/zero</code> <code>of=</code><code>/var/swaptemp/swapfile</code> <code>bs=1M count=512</code>

<code>    </code><code>mkswap -L SWAP-FILE </code><code>/var/swaptemp/swapfile</code>

<code>    </code><code>swapon </code><code>/var/swapfile2</code>

<code>3、上述第一問,如何讓其自動挂載的 同時啟用ACL功能;</code>

<code>    </code><code>/etc/fstab</code>

<code>    </code><code>LABEL=</code><code>'MYDATA'</code><code>/data</code> <code>ext3defaults,acl00</code>

注意:(進階裝置可以使用裸裝置)重新建立檔案系統會損壞原有資料

本文轉自 ftmoonfans  51CTO部落格,原文連結:http://blog.51cto.com/soulboy/1265334

上一篇: 磁盤陣列RAID
下一篇: LVM

繼續閱讀