建立分區相關命令:
命令格式:fdisk +裝置類型最多隻能建立15個分區
12#fdisk -l ------//可列出所有磁碟的相關分區資訊 #fdisk -l /dev/sda----//查看sda磁碟的相關分區資訊
圖1
123456Linux: Sda[1-4] S(介面類型)da1:第一個主要磁碟分割 Sda2:第二個主要磁碟分割 Sda3:第三個主要磁碟分割 Sda4:第四個主要磁碟分割
Sda5:第一個邏輯分區,擴充分區一定是從5開始的,5是邏輯分區開始的標誌。
命令格式:fdisk -l /dev/[sh]d[0-9]
圖2
12345d delete a partition——————//刪除一個分區 n add a new partition—————//建立一個分區 p print the partition table————//顯示當前分區資訊 w write table to disk and exit————//儲存退出 q quit without saving changes————//不儲存退出
System ID————說明這是一個什麼樣的分區類型,與作業系統相關連。
打算把分區——格式化成什麼樣的檔案系統,就一定要讓它的分區ID號跟檔案系統類型相匹配。
l list known partition types——各分區類型多對應的system ID————也就是檔案系統類型。
83————Linux
82————Linux swap / So
8e————Linux LVM邏輯卷
85————Linux extended
fd————Linux raid auto軟RAID Software Raid
12t change a partition's system id//修改某指定分區的system ID a toggle a bootable flag//設定可啟動標記(設定此分區可以啟動作業系統的分
區)——————一般很少用到,瞭解即可。
圖3
確認無誤儲存退出
圖4
再建立兩個6G的分區:
圖5
:主要磁碟分割編號只有一個了,要再建立任意兩個分區就只能,先建立擴充分區,在擴充分區裡面建立邏輯分區。
所以接下來一定是先建立擴充分區
5一定是4下的5,所有的邏輯分區一定是在擴充分區之下建立的,這點很重要哦!這裡的開始以及結束柱面可使用預設的,一定要把剩下的空間一併給擴充分區,因為,如果不給擴充分區的話就永遠也用不上了。這點對新手尤為重要哦,呵呵!
圖6
圖7
如果中間寫錯了,想刪除的話可按住ctrl鍵,再按tab即可輕鬆刪除出錯的命令了!
擴充分區是不能直接使用的,因此,必須要再new
一塊硬碟只能有一個擴充分區哦!這點請大家一定要記得哦!
圖8
再新增6G邏輯分區
圖9
以上這兩個分區整個都是在擴充分區內部建立的哦!看清楚了嗎?
所以說,邏輯分區一定是在擴充分區內部建立的!
如果某個分區不想要了,可以使用dl來刪除,在本案例中,可以直接刪除4號分區嗎?
圖10
貌似,5、6號分區也都隨著擴充分區的刪除消失了!
所以,此操作一定要謹慎哦!
此時唯一的解救辦法就是q-------不儲存退出就可以了哦,呵呵~
因為我們的核心還沒有做真正的分區格式化,也就是說在你沒w之前的所有操作都是視為無效的哦!!!
所以,有時候一念之間就是這樣的啦!!!!!
圖11
分區建立好了以後就可以使用fdisk -l來查看系統中所有的分區資訊了
圖12
fdisk能識別出來這麼多分區,核心能識別嗎?因為與硬體打交道的是核心啊 !!!!
如果核心識別不了的話說明是沒有這個硬體裝置的哦!
查看核心識別的分區資訊:
1#cat /proc/partitons
圖13
軟體能識別,核心竟然不能識別啊?該怎麼辦呢?
任何程式修改硬體必須要通過核心,必須要同步給正在啟動並執行核心,讓核心識別才行啊!問題是該怎樣同步呢?
註:RHEL5.0和RHEL6.0同步的相關命令也是不一樣的。
查看實驗測試機版本相關資訊:
1234#cat /etc/issue #lsb_release -a #cat /proc/version #uname -a
圖13-1
RHEL5讓 核心重新讀取硬碟分區表:
partprobe [Device]——重新探測
可指派探測某個指定的裝置,不指定的話預設是探測所有的
圖14
讀取失敗,重啟之前是無效的。
沒有被讀取到
RHEl6使用另外一個命令
RHEL6讓核心重新讀取硬碟分區表:
123456partx -a [partition] device #man partx -a add specified partitions or read disk and add all partitions.讀取所有的 -l list partitions. Note that the all numbers arein 512-byte sectors.
1#cat /proc/partitions 查看核心識別分區表情況
---只有此命令顯示的有各個分區資訊,核心才會分區格式化,否則都是無效分區哦!千萬記得哦!!!
圖18
手動一個一個添加似乎能被加上,但是仍然會報錯!不知道是不是核心方面的問題。
OK,核心都識別了!
圖19
OK,分區都已經建立好了,那麼,如何?,往分區裡面存放檔案,如何使用這個分區呢?接下來我們還需要進行哪些操作呢?
格式化分區,用於建立檔案系統
沒有檔案系統就沒有辦法在裡面建立檔案呢!為什麼呢?因為它是裸裝置啊!呵呵1
Linux建立分區命令:
兩步實現:指定分區類型、指定分區對象
註:擴充分區是不能格式化的,一定記得哦!
將/dev/sda3格式化分區類型為ext4
圖20
顯示/dev/sda3分區的相關屬性資訊
圖21
UUID———表示全域唯一號,是一列隨機字串將來硬碟數量很多的情況下,可以使用UUID來進行管理硬碟分區,所以每一個分區都給建立了一個通用唯一識別碼
blkid:顯示裝置的UUID以及檔案系統類型
註:擴充分區不能格式化
123456#mkfs -t ext4 /dev/sda3=mke2fa -t ext4 /dev/sda3 #mkfs -t ext3=mkfs.ext3=mk2efs -j=mke2fs -t ext3 #mkfs -t ext4=mkfs.ext4 #mkfs -t ext2=mkfs.ext2=mke2fs #mke2fs -t {ext2|ext3|ext4} #blid /dev/sda3 blkid device顯示裝置的UUID及檔案系統類型。
Uuid用來標識全域唯一ID號,是一連串隨機數字,一台超級電腦上有成千上萬個掛載分區,怎樣去識別這上萬個分區呢?使用sda、sdb很可能會衝突的。
所以每一個分區都建立了一個全域唯一隨機標識ID。重複的可能性極小,類似哈雷彗星撞地球,呵呵。硬碟無論放到哪個主機上,重複的可能性幾乎不存在。
#man mkfs
-t fstype
#mke2fs -t ext4 /dev/sda3
mke2fs - create an ext2/ext3/ext4 filesystem
mke2fs -b {1024位元組、2048位元組、4096位元組預設}
圖22
設定檔:vim /etc/mke2fs.conf用於設定預設特性及各檔案系統的特有預設特性
1#mke2fs -t ext4 -b2048/dev/sda3
——————b指定塊大小,預設為1kb,2kb.3kb
塊大小指的是什麼呢?
塊大小取決於CPU對記憶體葉大小的支援,一般來說,X86預設頁框是4K;預設是4096
查看磁碟分割相關屬性資訊
123#tune2fs - l devcie |grep “Block size” #tune2fs -l /dev/sda3 Block size:4096 # tune2fs -l /dev/sda3 | grep"Block size"
圖23
註:a)一個block只能屬於一個檔案
b)塊太大的話會導致磁碟空間的浪費
c)塊大小的劃分取決於將來要儲存的檔案
d)要更改塊大小隻能格式化磁碟分割
-L——〉new-volume-label設定卷標
Set the volume label for the filesystem to new-vol-
ume-label. The maximum length of the volume label
is 16 bytes.
12#mke2fs -t ext3 -b1024-L mytest1/dev/sda3 註:塊越小格式化的時間越長
要顯示塊大小
1#Tune2fs -l device | grep “Block size”
圖24
-L指定卷標,設定卷標
使用卷標或者使用UUID是我們避免交叉引用的好方法之一!
卷標有可能也會重複,乾脆使用UUID吧!
1#mke2fs -b1024-L mytest1 /dev/sda3
註:塊越小所格式化的時間就越長!
圖25
1#blkid /dev/sda3 還可以顯示LABEL資訊
圖26
一塊硬碟被填滿了的話會發生什麼情況?
# tune2fs -l /dev/sda3 | grep "Reserved" 查看磁碟預設預留空間
圖27
1# echo $[577085/11541700]
[root@localhost ~]# bc
577085/ 11541700
0
scale=2設定精度
577085/ 11541700*/
.05=5%保留的是整個磁碟空間的5%。200G預留了5%就是10G
[ -m reserved-blocks-percentage ]預留給管理使用的塊所佔據總體塊的比例。
12# mke2fs -t ext4 -b2048-m3-L mytest1 /dev/sda3 # tune2fs -l /dev/sda3 |grep"Reserverd"
圖28
圖29
圖30
隨著塊大小的改變,預留空間較之前有較大的變化。
mke2fs和tune2fs區別相當於useradd和usermod,慢慢體會下是不是這樣的?
修改分區相關屬性
重新設定卷標:-L
123#blkid /dev/sda3 #tune2fs -L test2 /dev/sda3 #blkid /dev/sda3
圖31
調整塊大小:-m
12#tune2fs -m5/dev/sda3 #tune2fs -l /dev/sda3 |grep “Reserved”
圖32
12#tune2fs -m1 /dev/sda3 #tune2fs -l /dev/sda3 |grep “Reserved”
圖33
12345-o:設定預設掛載選項 -O:設定檔案系統預設特性 -r調整預留給管理使用的塊個數 -E設定檔案系統的擴充屬性 -l顯示檔案系統超級塊資訊
e2label顯示設定卷標
123#e2label /dev/sda3 #e2label /dev/sda3 test3 #e2label /devsda3
下篇
掛載
概念:掛載其實就是關聯關係的過程。
fileSystem:一個軟體,在核心中實現的
格式:mount -t filesystem options device mount-point
mount選項:
123456789101)-o:用於指定掛載選項2)ro:唯讀掛載3)-n掛載檔案系統時不更新/etc/mtab檔案4)rw:讀寫,預設即為讀寫5)noatime:關閉更新訪問時間的功能6)auto:是否能由“mout -a”掛載7)-r相當於”-o ro”唯讀掛載8)defaults:相當於rw,suid,dev,exec,nouser,auto,async,and realatime9)sync同步寫入,效能差,CPU到記憶體10NS,CPU到硬碟100NS10)async非同步寫入,大部分使用的是非同步,效能好
sync在記憶體中完成儲存,檔案被編輯先被讀入記憶體,檔案編輯都是在記憶體中操作的。
mount [-t filetype]系統會調用blkid自動識別檔案類型,此項可省略 掛載裝置 掛載點
1)建立空白目錄
123456#mkdir /test_m1#cp /etc/inittab /test_m1#cp /etc/fstab /test_m1#cp /etc/rc.d/rc.sysinit /test_m1#cp /etc/rc.d/init.d/functions /test_m1#ls /test_m1
2)掛載,建立關聯關係
12# mount -t ext4 /dev/sda3 /test_m1/# ls /test_m1/
原來的檔案不見了,思考下為什呢?
3)反掛載,也就是卸載了
卸載的時候只需要指定一項目即可,要麼是掛載點、要麼是分區名稱
4)使用卷標掛載
12# e2label /dev/sda3# mount LABEL="test2" /test_m1/
6使用卷標卸載umount /test_m1/
LABEL=”卷標”
7)使用UUID掛載
UUID=“UUID”
12# blkid /dev/sda3# mount UUID="a54233f0-51c0-4f30-9a0f-eea4c0999f49" /test_m1/
1#mount ——————>顯示當前系統掛載的所有裝置
/etc/fstab——————〉系統開機會自動掛載的檔案系統
註:fdisk - l RHEL5上面不顯示邏輯卷
fdisk - l RHEL 6上面是顯示所有的磁碟分割的
fdisk -l /dev/[hs]d[a-z]
12mount://將某檔案系統關聯至根檔案系統上來mount://顯示所有掛在的裝置
12# cat /etc/mtab追蹤當前系統上所有已掛載檔案系統的檔案,隨時會更新。# umount /dev/sda3
1# cat /etc/mtab12#//fuser用於顯示正在訪問某個檔案的進程# fuser /media/ -km強制終止正在訪問此掛載點的進程,謹慎使用哦!
定義核心中的磁碟清寫策略,由核心自己維護。
12345678910#remount:重新掛載#mount#mount -o remount,ro /dev/sda3隻要此前掛在過就無需重新指定掛載點loop:本地迴環裝置,其實不是個裝置,是個檔案mount -o remount,other_options devicemount -o loop,other_options device mount point用於掛載迴環裝置-n:掛載檔案系統時不更新cat /etc/mtab檔案-r:相當於“-o,ro”唯讀掛載fuser [mount_point]//查看正在訪問掛載點的進程fuser -km[mount_point]//強行殺死正在訪問此掛載點的進程
1#/etc/fstab//使用空白字元分割的六個欄位
12345678910111)掛載的裝置:裝置檔案、卷標、UUID(伺服器上存放裝置較多時可使用)2)掛載點(一定要是空目錄)3)檔案系統類型:ext2、ext3、ext4。。。。。4)掛載選項:defaults表示使用預設選項,多個選項之間逗號分隔;轉儲頻率:也備份頻率(就是多長時間做一次備份)0:從不備份,預設此選項即可1:每日備份2、每隔一天備份5)自檢次序-做檔案系統檢測(檔案系統不一致的情況下)6)定義自檢次序:
ext3記錄檔系統
0:不檢測
1、:第一個檢測:一般只有根檔案系統被第一個檢測,一般來講只能是根為1
12342-9逐個檢測#vim +//直接開啟檔案並定位至最後一行#vim + /etc/fstab#按小寫字母o,在當前游標所在行下行建立一行並轉換為輸入模式
12a)上面的操作只能保證下次開機啟動時自動掛載哦!b)下面的操作是立即掛載到當前相關聯的目錄上,是隨時都可以使用的啦!
1#mount -a//掛載/etc/fstab所有支援auto掛載選擇的檔案系統
Linux的交換分區:SWAP
1)建立交換分區
123mkfs -t [fstype] partition1、檔案系統必須被核心支援才能使用,即核心中有相應的核心模組或者已經編譯進核心;2、要有相應的檔案系統建立工具,mkfs.fstype,於核心模組一一對應
啟用交換分區
123#mkswap device//啟用交換分區#swapon device //啟用指定交換分區#swapoff -a //啟用所有交換分區
禁用交換分區
123#swapoff device#swapopp -a#開機啟動交換分區,可寫入到/etc/fstab
掛載時注意以下兩點即可
121)掛載點填寫swap2)檔案系統類型填寫swap
將分區資訊寫入核心
建立交換分區
設定開機自動掛載
完!