Linux系統管理-磁盤管理1
1、磁盤結構
扇區sector: 每個扇區存儲512byte
磁道track: 每個磁道劃分63個扇區
磁頭head: 邏輯磁頭(盤面)數設為255個
柱面cylinder: 一個柱面的大小=255X63X512byte=8M(Linux分區單位)
硬盤或分區的容量=柱面大小X柱面數
2、硬盤啟動過程
識別硬盤--->規劃分區--->格式化--->掛載--->讀寫數據
3、常見分區模式
1>MBR(Master Boot Record)分區
分區方式:第一扇區(521bit)+4個主分區(3個主分區+1個擴展分區)+若幹邏輯分區
缺點:最多4個主分區、最大支持2.2TB
2>GPT (GUID Partition Table)
優勢:可以劃分多個分區,最大支持18EB(1EB=1024PB=1024X1024TB=1024X1024X1024GB)
註:MBR分區與GPT分區不能共存
4、磁盤分區工具
fdisk------>支持MBR分區
parted------>支持GPT分區、MBR分區
1>fdisk工具
fdisk -l 顯示系統分區信息
fdisk /dev/sdb 對磁盤sdb進行分區,操作後進入以下界面
輸入m或者help顯示常用命令及幫助信息
創建主分區2G:
n(創建新分區)--->p(創建主分區)--->1(輸入分區號)--->1(輸入分區的起始柱面,一般為上一分區的結束柱面)--->+2G(輸入分區大小)--->w(保存並退出)--->partprobe /dev/sdb(獲取新的分區表)--->ls /dev/sdb*(查看以創建的分區)
創建磁盤分區時的ID號即為磁盤的分區標識,每個分區的類型都通過不同的ID號來區分的,通過l查看已有的ID號,通過t可以修改分區的ID
創建擴展分區10G:MBR分區只能創建1個擴展分區
n(創建新分區)--->e(創建主分區)--->2(輸入分區號)--->263(輸入分區的起始柱面,一般為上一分區的結束柱 面)--->+10G(輸入分區大小)--->w(保存並退出)--->partprobe /dev/sdb(獲取新的分區表)--->ls /dev/sdb*(查看以創建的分區)
創建邏輯分區2G:邏輯分區創建在擴展分區內,總的分區大小不能超過擴展分區大小
n(創建新分區)--->l(創建主分區)--->263(輸入分區的起始柱面,一般為上一分區的結束柱 面)--->+2G(輸入分區大小)--->w(保存並退出)--->partprobe /dev/sdb(獲取新的分區表)--->ls /dev/sdb*(查看以創建的分區)
2>parted分區工具
4.2.1>查看分區表:parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 316MB 315MB primary ext4 boot
2 316MB 19.4GB 19.0GB primary ext4
3 19.4GB 21.5GB 2114MB primary linux-swap(v1)
4.2.2>進入交互模式:parted /dev/sda
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type ‘help‘ to view a list of commands.
4.2.3>常用操作
mktable :創建分區表,即創建磁盤分區格式
mkpart :創建磁盤分區
rm +分區號 :刪除分區
quit :保存並退出
4.2.4>創建磁盤分區過程
mktable[msdos|gpt]--->mkpart[primary|extended|logical]--->[ext4|vfat]--->開始柱面--->終止柱面
創建GPT分區
parted /dev/sdb
(parted) mktable gpt [建立GPT分區表]
mkpart primary ext4 0 4G [建立第一個4G大小的主分區]
mkpart primary ext4 4G 8G [建立第二個4G大小的主分區]
mkpart primary ext4 8G 100%[將剩余空間作為最後一個分區]
分區表如下:
Number Start End Size File system Name Flags
1 17.4kB 4000MB 4000MB primary
2 4000MB 8000MB 3999MB primary
3 8000MB 21.5GB 13.5GB primary
5、獲取新的分區表
創建完磁盤分區後可以通過一下方法獲取新的分區表
1>partx -a /dev/sdb
2>partprobe /dev/sdb
3>reboot
6、格式化磁盤
將磁盤創建完分區後需要格式化磁盤,對磁盤賦予文件系統後磁盤才能夠使用
mkfs.文件系統 [磁盤分區]:mkfs.ext4 /dev/sdb1
7、swap分區
Linux內核為了提高讀寫效率與速度,會將文件在內存中進行緩存,這部分內存就是 Cache Memory(緩存內存)。即使你的程序運行結束後,Cache Memory也不會自動釋放。這就會導致你在Linux系統中程序頻繁讀寫文件後,你會發現可用物理內存變少。當系統的物理內存不夠用的時候,就需要將物 理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什麽操作的程序,這些被釋放的空間被臨時保存到 Swap空間中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時,才進行Swap交換。
若要將一個分區作為swap分區則需先將這個分區格式化為swap分區
mkswap /dev/sdb1
啟用/dev/sdb1到swap分區
swapon /dev/sdb1
停用/dev/sdb1作為swap分區
swapoff /dev/sdb1
查看swap分區
free -m
swapon -s
利用文件創建swap分區
dd if=/dev/zero(源設備) of=/tmp/swap.db(目標設備) bs=1M(塊大小) count=1024(塊數量) 創建1G大小的文件
mkswap /tmp/swap.db 格式化swap分區
swapon /tmp/swap.db 加載swap分區
swapon -s 查看swap分區
Filename Type Size Used Priority
/dev/sda3 partition 2064380 6500 -1
/dev/sdb1 partition 3906228 0 -2
/tmp/swap.db file 1048572 0 -3
Linux系統管理-磁盤管理1