本節所講內容:
- 12.1 SAS-SATA-SSD-SCSI-IDE硬盤講解
- 12.2 磁盤分區工具和掛載
- 12.3 實戰擴展swap分區
12.1 SAS-SATA-SSD-SCSI-IDE硬盤講解
常見磁盤類型:
- • SAS硬盤
- • SATA硬盤
- • SSD硬盤
- • SCSI硬盤
- • IDE硬盤
你的服務器使用什麼磁盤?
SAS硬盤:
- • SAS(串行連接SCSI接口)
- • SAS(Serial Attached SCSI),串行連接SCSI接口,串行連接小型計算機系統接口。
- • SAS是新一代的SCSI技術,和現在流行的Serial
ATA(SATA)硬盤相同,都是採用串行技術以獲得更高的傳輸速度,並通過縮短連結線改善內部空間等。 - • SAS的接口技術可以向下兼容SATA。
SAS和SATA接口對比
SAS 磁盤線
磁盤尺寸:
- • 3.5英寸設計
- • 2.5英寸設計
- • 此前主流的桌面磁盤和服務器磁盤都是採用3.5英寸設計,而SAS硬盤除了具有傳統的3.5英寸規格之外,還採用了2.5英寸的縮小版,這樣可以在機架式服務器有限的空間內安裝更多的磁盤以擴充存儲系統的容量,也能夠爲其他配件騰出更大的空間,以便通風散熱,在2U高度內使用8個2.5英寸的SAS硬盤位已經成爲大多數服務器廠商的選擇。
已經被淘汰的硬盤:
數據線和電源接口,串型和並型 哪個快?
並口爲什麼沒有串口快? 知道:1 不知道:2
- • 串口形容一下就是 一條車道,而並口就是有8個車道。同一時刻能傳送8位(一個字節)數據。
- • 但是並不是並口快,由於8位通道之間的互相干擾。傳輸受速度就受到了限制。當傳輸出錯時,要同時重新傳8個位的數據,而且傳輸速度越快,干擾越嚴重。這是硬傷,這樣速度就無法提升上來。
- • 串口沒有干擾,傳輸出錯後重發一位就可以了。而且串口傳輸的時鐘頻率要比並口高。
1956年,一臺5mb的IBM硬盤被裝上飛機,重量超過一噸
12.1.2 當下流行的磁盤種類
常見硬盤品牌:希捷 西數 日立 HP DELL EMC IBM
硬盤分幾種?
- A. 從工作原理來說: 固態:價格相對貴,壽命長,讀取速度
機械:怕摔、怕磁,(單位換下來的壞盤會做消磁處理),讀取速度—》磁道尋址時間,潛伏時間 - B. 從硬盤的接口來說
STAT:用在低端服務器多
SAS、SCSI:用在中高服務器
PCIE M.2
對LINUX來說,在內核中,不同的接口對應有不同的命名方式:
- 操作系統 IDE STAT|SCSI SAS
- RHEL5 /dev/hda /dev/sda /dev/sda
- RHEL6 /dev/sda /dev/sda /dev/sda
- KVM /dev/vda
例1:常見磁盤:
- 戴爾(Dell)服務器硬盤 SAS 300G 15K 3.5英寸緩存:128MB 6Gbp/S
http://item.jd.com/10437410142.html 支持熱插拔 ¥1330.00
SAS 磁盤容量一般: 300G 600G
有SAS 2T , 4T 的硬盤 ? 有:1 沒有:2
- 希捷(SEAGATE)ES.3系列 2TB 7200轉128M SAS 企業級硬盤6G bp/s(ST2000NM0023)
http://item.jd.com/1093052.html 京 東 價: ¥999.00
假SAS= SATA盤身+ SAS接口(熱插拔)
- 硬盤: 容量大 + 便宜 符合市場需求! 提速度:假SAS做raid5 raid10 ,做分佈式存儲 MFS ,HDFS,GFS,
swift ,ceph
例2:存儲設備:陣列櫃
互動:存儲會放到機櫃的上面還是下面?
下面:穩 , 換硬盤方便,機櫃不容已倒,佈線容易 ,太沉
例3:以西部數據爲例,瞭解一下SATA盤。
你看過什麼顏色的盤?
藍、黑、綠 紅 , 黃盤? 看過:1 沒有:2
-
西部數據(WD)黑盤 2TB SATA6Gb/s 64MB 臺式機硬盤¥999.00
-
西部數據(WD)紅盤 2TB SATA6Gb/s 64M 臺式機硬盤 ¥849.00
-
西部數據(WD)紫盤 2TB SATA6Gb/s 64M 監控硬盤 ¥589.00
-
西部數據(WD)綠盤 2TB SATA6Gb/s 64M 臺式機硬盤 ¥499.00
-
西部數據(WD)藍盤 2TB SATA6Gb/s 64M 臺式機硬盤 ¥459.90
-
西部數據(WD) 金盤 2TB 7200轉128M 企業級硬盤(WD2005FBYZ)¥1099
http://item.jd.com/4360258.html#crumb-wrap
-
西部數據(WD)藍盤 2TB SATA6Gb/s 64M 臺式機硬盤(WD20EZRZ)
http://item.jd.com/2054175.html
村中技巧:要4塊黑塊, 把藍盤上的標籤一撕,然後花兩元買4個黑盤的標籤一貼。
4塊硬盤掙500*4=2000元
如何無痕撕標籤?吹風機
如何防?
硬件大師 魯大師 可以檢測 ,或上官網查看序列號
大容量磁盤價格:
-
西部數據(WD)綠盤 6TB SATA6Gb/s 64MB臺式機硬盤¥1899.00
-
昱科/HGST Ultrastar He10 10T企業級服務器磁盤陣列硬盤10TB現貨
注:昱科->前日立硬盤業務
查看存儲上的磁盤:
注:ST 希捷 WD 西數
例2:遊戲服務器上的固態磁盤: 數據不多, 但要延遲小,隨機讀寫能力強!
接口:
http://item.jd.com/10427653932.html
三星/SAMSUNG 750 EVO SSD固態硬盤120G/250G/500G 支架+螺絲刀+SATA線+螺絲 500G
京 東 價 ¥899.00
http://item.jd.com/10427653932.html
互動:有SAS接口的SSD硬盤?
- 聯想(Lenovo)IBM存儲 V3500/V3700系列 2.5英寸存儲硬盤 200G SAS SSD
http://item.jd.com/10184874758.html ¥9999.00 - 戴爾(DELL)400GB SAS 接口 2.5英寸 SSD固態硬盤 服務器硬盤¥6900.00
http://item.jd.com/1578475963.html
例5:開眼界!最貴的SSD磁盤?
- 英特爾(Intel) DC P3608 1/2 PCIe NVMe3.0x8 MLC固態硬盤 P3608 PCI-E 4TB
¥38999.00 https://item.jd.com/11114372517.html
經驗: 對於機械式磁盤,SATA3和SATA2接口標準,速度上沒有太明顯提升,但是對於固態磁盤,SATA3接口比SATA2快很多,就像USB3.0比USB2.0快很多一樣。
Linux架構師高薪入口:
1.學神IT教育官方網站: http://xuegod.ke.qq.com
2.10年行業資深老鳥MK:QQ2659153446
3.加入Linux技術交流QQ羣:722287089,即可獲得以下福利:
①定期分享免費學習資料與視頻(工具+筆記+拓展實戰)
②10年行業資深老鳥在線答疑:技能+實戰+項目分享+高薪就業
③有機會免費領取Linux雲計算集羣架構師4冊書籍
12.2 磁盤分區工具和掛載
12.2.1 硬盤分區符認識
MBR概述:全稱爲Master Boot Record,即硬盤的主引導記錄。
- 硬盤的0柱面、0磁頭、1扇區稱爲主引導扇區(也叫主引導記錄MBR)。它由三個部分組成,主引導程序、硬盤分區表DPT(Disk Partition table)和分區有效標誌(55AA)。在總共512字節的主引導扇區裏主引導程序(bootloader)佔446個字節,
- 第二部分是Partitiontable區(分區表),即DPT,佔64個字節,硬盤中分區有多少以及每一分區的大小都記在其中。
- 第三部分是magic
number,佔2個字節,固定爲55AA。
分區編號:主分區1-4 ,邏輯分區5……
- LINUX規定:邏輯分區必須建立在擴展分區之上,而不是建立在主分區上
分區作用:
-
主分區:主要是用來啓動操作系統的,它主要放的是操作系統的啓動或引導程序,/boot分區最好放在主分區上
-
擴展分區不能使用的,它只是做爲邏輯分區的容器存在的;我們真正存放數據的是主分區和邏輯分區,大量數據都放在邏輯分區中
-
如果你用的是GPT的分區方式,那麼它沒有限制主分區個數
注意:使用分區工具fdisk對磁盤進行操作,分區,格式化(重點)
命名方式: /dev/sd[a-z]n
-
其中:a-z 表示設備的序號,如sda表示第一塊scsi硬盤,sdb就是第二塊… n 表示每塊磁盤上劃分的磁盤分區編號
12.2.2 使用fdisk管理分區 -
fdisk:磁盤分區,是Linux發行版本中最常用的分區工具
-
用法:fdisk [選項] device
-
常用的選項 : -l 查看硬盤分區表
-
案例:在sdb盤上建一個分區,大小爲100M
-
在虛擬機上添加一塊硬盤
例:對sdb這塊盤劃分一個100M的分區出來
[root@xuegod63 ~]# fdisk /dev/sdb
...
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 刪除分區
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types 顯示分區類型
m print this menu 打印幫助菜單
n add a new partition 添加新的分區
o create a new empty DOS partition table
p print the partition table 顯示分區表
q quit without saving changes 不保存,退出
s create a new empty Sun disklabel
t change a partition's system id 改變分區類型
u change display/entry units
v verify the partition table
w write table to disk and exit 寫分區表信息到硬盤,保存操作並退出
x extra functionality (experts only)
Command (m for help): p -----打印分區表
Command (m for help): n ----新建一個分區
Partition type:
p primary (2 primary, 0 extended, 2 free) p:主分區
e extended e:擴展分區
Select (default p): --直接默認
Using default response p
Partition number (1,4, default 1): ---直接默認
First sector (1230848-41943039, default 1230848): ---直接默認
Using default value 1230848
Last sector, +sectors or +size{K,M,G} (1230848-41943039, default 41943039): +1G 輸入分區大小
Partition 3 of type Linux and of size 1 GiB is set
Command (m for help): w 保存退出
[root@xuegod63 ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1
例2:對已經在使用的磁盤進行分區,分區讓新生成的分區生效。如果對sda再做一個sda4主分區
[root@xuegod63 ~]# fdisk /dev/sda
命令(輸入 m 獲取幫助):p
磁盤標識符:0x0005c80e
設備 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 2508799 1048576 82 Linux swap / Solaris
/dev/sda3 2508800 23480319 10485760 83 Linux
命令(輸入 m 獲取幫助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已選擇分區 4
- 起始 扇區 (23480320-41943039,默認爲 23480320):
- 將使用默認值 23480320
- Last 扇區, +扇區 or +size{K,M,G} (23480320-41943039,默認爲 41943039):+1G 分區
4 已設置爲 Linux 類型,大小設爲 1 GiB
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 設備或資源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
解決:讓新生成的分區生效:
[root@xuegod63 ~]#reboot #這個是最好的方法
或
[root@xuegod63 ~]# partx -a /dev/sda #獲得新分區表
使用sdb1新分區:
[root@xuegod63 ~]# mkfs.ext4 /dev/sdb1
[root@xuegod63 ~]# mkfs.xfs /dev/sdb1 #格式化,-f 對已經存在文件系統的分區,強制格式化
[root@xuegod63 ~]# mkdir /sdb1 #創建掛載點
[root@xuegod63 ~]# mount /dev/sdb1 /sdb1/ #掛載
[root@xuegod63 ~]# df -h #查看
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 10G 4.3G 5.8G 43% /
devtmpfs 982M 0 982M 0% /dev
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 997M 9.0M 988M 1% /run
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 197M 172M 25M 88% /boot
tmpfs 200M 24K 200M 1% /run/user/0
/dev/sdb1 1014M 33M 982M 4% /sdb1
[root@xuegod63 ~]# cd /sdb1/ #使用新分區
[root@xuegod63 sdb1]# ls
[root@xuegod63 sdb1]# cp /etc/passwd ./
例3:解決卸載不了的問題
root@xuegod63 ~]# cd /sdb1/
[root@xuegod63 sdb1]# umount /sdb1
umount: /sdb1:目標忙。
(有些情況下通過 lsof(8) 或 fuser(1) 可以
找到有關使用該設備的進程的有用信息)
[root@xuegod63 sdb1]# lsof /sdb1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 2823 root cwd DIR 8,17 20 64 /sdb1
lsof 2952 root cwd DIR 8,17 20 64 /sdb1
lsof 2953 root cwd DIR 8,17 20 64 /sdb1
方法1:[root@xuegod63 sdb1]# kill -9 2823
方法2:[root@xuegod63 sdb1]# cd #退出目錄,這個最合適
[root@xuegod63 ~]# umount /dev/sdb1
注:umount 掛載點 //卸載方式1 或 umount 設備路徑 //卸載方式2
例4:寫入配置文件,讓它開機自動掛載
[root@xuegod63 /]# vim /etc/fstab #在文件最後寫入
/dev/sdb1 /sdb1 xfs defaults 0 0
註釋:
/dev/sdb1 /sdb1 xfs defaults 0 0
要掛載的分區設備 掛載點 文件系統類型 掛載選項 是否備份 是否檢測
[root@xuegod63 ~]# mount -a #自動掛載/etc/fstab中沒有掛載上的文件
[root@xuegod63 ~]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/sda3 10G 4.3G 5.8G 43% /
devtmpfs 982M 0 982M 0% /dev
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 997M 9.0M 988M 1% /run
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 197M 172M 25M 88% /boot
tmpfs 200M 24K 200M 1% /run/user/0
/dev/sdb1 1014M 33M 982M 4% /sdb1
#發現已經掛載上,說明配置沒有問題。 然後再重啓,看看掛載
方法2: 使用UUID掛載
[root@xuegod63 ~]# blkid
/dev/sda1: UUID="a635d4d2-a21e-4d9b-b199-4c8d5cfed808" TYPE="xfs"
/dev/sda2: UUID="46f139f8-fd5c-4e51-8d5c-b33f6c7aa38e" TYPE="swap"
/dev/sda3: UUID="4bcb433e-10e6-464d-a40b-00d018950149" TYPE="xfs"
/dev/sdb1: UUID="5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2" TYPE="xfs"
[root@xuegod63 /]# echo "UUID=5e3a580a-e5b4-448c-88bf-d22fb3d1d9e2 /sdb1 xfs defaults 0 0" >> /etc/fstab
擴展:瞭解
/dev/sdb1 /sdb1 xfs defaults 0 0
要掛載的分區設備 掛載點 文件系統類型 掛載選項 是否備份 是否檢測
其中第四列:parameters-文件系統的參數
Async/sync 設置是否爲同步方式運行,默認爲async
auto/noauto 當執行mount -a 的命令時,此文件系統是否被主動掛載。默認爲auto
rw/ro 是否以以只讀或者讀寫模式掛載
exec/noexe 限制此文件系統內是否能夠進行"執行"的操作
user/nouser 是否允許用戶使用mount命令掛載
suid/nosuid 是否允許SUID的存在
Usrquota 啓動文件系統支持磁盤配額模式
Grpquota 啓動文件系統對羣組磁盤配額模式的支持
Defaults 同時具有rw,suid,dev,exec,auto,nouser,async等默認參數的設置 samba nfs
第五列:是否進行備份。通常這個參數的值爲0或者1
0 代表不要做備份
1 代表要每天進行操作
2 代表不定日期的進行操作
第六列:是否檢驗扇區:開機的過程中,系統默認會以fsck檢驗我們系統是否爲完整
0 不要檢驗
1 最早檢驗(一般根目錄會選擇)
2 1級別檢驗完成之後進行檢驗
12.2.3 gdisk 磁盤分區工具
- gdisk主要是用來劃分容量大於2T的硬盤,大於2T fdisk搞不定
- 兩種類型的分區表:GPT和MBR ; MBR不支持4T以上 GPT分區:GPT,全局唯一標識分區表(GUID Partition
Table),它使用128位GUID來唯一標識每個磁盤和分區,與MBR存在單一故障點不同,GPT提供分區表信息的冗餘,一個在磁盤頭部一個在磁盤尾部;它通過CRC校驗和來檢測GPT頭和分區表中的錯誤與損壞;默認一個硬盤支持128個分區
例:對sdb做gpt分區,創建一個sdb1
[root@xuegod63 ~]# gdisk /dev/sdb
。。。
Command (? for help): ? # 查看幫助
b back up GPT data to a file
c change a partition's name
d delete a partition #刪除分區
i show detailed information on a partition
l list known partition types
n add a new partition # 添加一個分區
o create a new empty GUID partition table (GPT)
p print the partition table # 打印分區表
q quit without saving changes # 退出不保存
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit # # 寫入分區表並退出
x extra functionality (experts only)
? print this menu
Command (? for help): n #新建分區表
Partition number (1-128, default 1): #直接回車
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}: #直接回車, 從頭開始劃分空間
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +1G #給1G空間
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): #分區類型直接回車
注:8300 Linux filesystem ;8e00 Linux LVM 想查看,可以按L 來顯示
Changed type of partition to 'Linux filesystem'
Command (? for help): p #查看
。。。
Number Start (sector) End (sector) Size Code Name
1 2048 2099199 1024.0 MiB 8300 Linux filesystem
Command (? for help): w #保存
Do you want to proceed? (Y/N): y #確定寫入
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.
[root@xuegod63 ~]# mkfs.xfs /dev/sdb1 #格式化
例2: 修改fstab重啓系統後,系統報錯:
- 重啓後報錯:
輸入root密碼: 123456
把fstab中新添加開機自動加載項目刪除:
然後reboot
Linux架構師高薪入口:
1.學神IT教育官方網站: http://xuegod.ke.qq.com
2.10年行業資深老鳥MK:QQ2659153446
3.加入Linux技術交流QQ羣:722287089,即可獲得以下福利:
①定期分享免費學習資料與視頻(工具+筆記+拓展實戰)
②10年行業資深老鳥在線答疑:技能+實戰+項目分享+高薪就業
③有機會免費領取Linux雲計算集羣架構師4冊書籍
12.3 實戰擴展swap分區
Swap分區在系統的物理內存不夠用的時候,把硬盤空間中的一部分空間釋放出來,以供當前運行的程序使用。
- mkswap /devices (格式化成swap格式)
- swapon /swap (激活/swap,加入到swap分區中)
vim /etc/fstab (開機自啓動新添加的swap分區) ,在最後追加:
-
/devices swap swap defaults 0 0
-
如果不想使用需要刪除,只需要執行#swapoff /swap
12.3.1 先分個區
[root@xuegod63 ~]# gdisk /dev/sdb
...
Command (? for help): n #新建分區
Partition number (2-128, default 2): #回車
First sector (34-41943006, default = 2099200) or {+-}size{KMGTP}: #回車
Last sector (2099200-41943006, default = 41943006) or {+-}size{KMGTP}: +1G #給1G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): #回車
Changed type of partition to 'Linux filesystem'
Command (? for help): w #保存
Do you want to proceed? (Y/N): y
格式化swap
[root@xuegod63 ~]# mkswap /dev/sdb2
正在設置交換空間版本 1,大小 = 2097148 KiB
無標籤,UUID=dc41b5ef-bcf1-477c-902e-c5bb00d41c1e
驗證:
[root@xuegod63 ~]# free -m
total used free shared buff/cache available
Mem: 977 557 75 16 345 168
Swap: 2047 234 1813
[root@xuegod63 ~]# swapon /dev/sdb2 ---開啓
[root@xuegod63 ~]# free -m
total used free shared buff/cache available
Mem: 977 556 75 16 345 169
Swap: 3071 234 2837
[root@xuegod63 ~]# swapoff /dev/sdb2 ---關閉
[root@xuegod63 ~]# free -m
total used free shared buff/cache available
Mem: 977 556 75 16 345 169
Swap: 2047 234 1813
[root@xuegod63 ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 240532 -1
[root@xuegod63 ~]# swapon /dev/sdb2
[root@xuegod63 ~]# swapon -s #查看
Filename Type Size Used Priority
/dev/dm-1 partition 2097148 240532 -1
/dev/sdb2 partition 1048572 0 -2
12.3.2 通過文件增加SWAP空間
[root@xuegod63 ~]# dd if=/dev/zero of=swap_file bs=1M count=500
[root@xuegod63 ~]# ll /root/swap_file
[root@xuegod63 ~]# chmod 0600 /root/swap_file
[root@xuegod63 ~]# mkswap -f /root/swap_file
[root@xuegod63 ~]# swapon /root/swap_file
[root@xuegod63 ~]# free -m
Linux架構師高薪入口:
1.學神IT教育官方網站: http://xuegod.ke.qq.com
2.10年行業資深老鳥MK:QQ2659153446
3.加入Linux技術交流QQ羣:722287089,即可獲得以下福利:
①定期分享免費學習資料與視頻(工具+筆記+拓展實戰)
②10年行業資深老鳥在線答疑:技能+實戰+項目分享+高薪就業
③有機會免費領取Linux雲計算集羣架構師4冊書籍
微信公衆號:
MK老師微信號:
總結:
- 12.1 存儲的基本知識
- 12.2 硬盤分區介紹
- 12.3 磁盤分區工具
- 12.2 實戰擴展swap分區