【Linux云计算架构:第一阶段-Linux操作系统入门到精通】第12章——硬盘介绍和磁盘管理
本節(jié)所講內容:
12.1 SAS-SATA-SSD-SCSI-IDE硬盤講解
12.2 磁盤分區(qū)工具和掛載
12.3 實戰(zhàn)擴展swap分區(qū)
12.1 SAS-SATA-SSD-SCSI-IDE硬盤講解
常見磁盤類型:
你的服務器使用什么磁盤?
SAS硬盤: ?SAS(串行連接SCSI接口) ?SAS(Serial Attached SCSI),串行連接SCSI接口,串行連接小型計算機系統(tǒng)接口。 ?SAS是新一代的SCSI技術,和現(xiàn)在流行的Serial ATA(SATA)硬盤相同,都是采用串行技術以獲得更高的傳輸速度,并通過縮短連結線改善內部空間等。 ?SAS的接口技術可以向下兼容SATA。
SAS和SATA接口對比
SAS 磁盤線
磁盤尺寸:
?3.5英寸設計 ?2.5英寸設計?此前主流的桌面磁盤和服務器磁盤都是采用3.5英寸設計,而SAS硬盤除了具有傳統(tǒng)的3.5英寸規(guī)格之外,還采用了2.5英寸的縮小版,這樣可以在機架式服務器有限的空間內安裝更多的磁盤以擴充存儲系統(tǒng)的容量,也能夠為其他配件騰出更大的空間,以便通風散熱,在2U高度內使用8個2.5英寸的SAS硬盤位已經成為大多數服務器廠商的選擇。
已經被淘汰的硬盤:
數據線和電源接口,串型和并型 哪個快?
并口為什么沒有串口快?
1956年,一臺5mb的IBM硬盤被裝上飛機,重量超過一噸
12.1.2 當下流行的磁盤種類
常見硬盤品牌:希捷 西數 日立 HP DELL EMC IBM硬盤分幾種?
A.從工作原理來說:
B.從硬盤的接口來說
STAT:用在低端服務器多 SAS、SCSI:用在中高服務器 PCIE M.2對LINUX來說,在內核中,不同的接口對應有不同的命名方式:
操作系統(tǒng) 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 2T , 4T 的硬盤 ? 有
希捷(SEAGATE)ES.3系列 2TB 7200轉128M SAS 企業(yè)級硬盤6G bp/s(ST2000NM0023)
http://item.jd.com/1093052.html 京 東 價: ¥999.00
假SAS= SATA盤身+ SAS接口(熱插拔)
硬盤: 容量大 + 便宜 符合市場需求! 提速度:假SAS做raid5 raid10 ,做分布式存儲 MFS ,HDFS,GFS, swift ,ceph例2:存儲設備:陣列柜
互動:存儲會放到機柜的上面還是下面?
下面:穩(wěn) , 換硬盤方便,機柜不容已倒,布線容易 ,太沉
例3:以西部數據為例,了解一下SATA盤。
你看過什么顏色的盤?
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企業(yè)級服務器磁盤陣列硬盤10TB現(xiàn)貨
http://item.jd.com/10441913977.html
查看存儲上的磁盤:
注:ST 希捷 WD 西數
例2:游戲服務器上的固態(tài)磁盤: 數據不多, 但要延遲小,隨機讀寫能力強!
接口:
http://item.jd.com/10427653932.html
三星/SAMSUNG 750 EVO SSD固態(tài)硬盤120G/250G/500G 支架+螺絲刀+SATA線+螺絲 500G
京 東 價 ¥899.00
http://item.jd.com/10427653932.html
互動:有SAS接口的SSD硬盤?
聯(lián)想(Lenovo)IBM存儲 V3500/V3700系列 2.5英寸存儲硬盤 200G SAS SSD
http://item.jd.com/10184874758.html ¥9999.00
戴爾(DELL)400GB SAS 接口 2.5英寸 SSD固態(tài)硬盤 服務器硬盤¥6900.00
http://item.jd.com/1578475963.html
例5:開眼界!最貴的SSD磁盤?
英特爾(Intel) DC P3608 1/2 PCIe NVMe3.0x8 MLC固態(tài)硬盤 P3608 PCI-E 4TB ¥38999.00
https://item.jd.com/11114372517.html
12.2 磁盤分區(qū)工具和掛載
12.2.1 硬盤分區(qū)符認識
硬盤的0柱面、0磁頭、1扇區(qū)稱為主引導扇區(qū)(也叫主引導記錄MBR)。它由三個部分組成,主引導程序、硬盤分區(qū)表DPT(Disk Partition table)和分區(qū)有效標志(55AA)。在總共512字節(jié)的主引導扇區(qū)里主引導程序(boot loader)占446個字節(jié),第二部分是Partition table區(qū)(分區(qū)表),即DPT,占64個字節(jié),硬盤中分區(qū)有多少以及每一分區(qū)的大小都記在其中。第三部分是magic number,占2個字節(jié),固定為55AA。
分區(qū)編號:主分區(qū)1-4 ,邏輯分區(qū)5……
分區(qū)作用:
主分區(qū):主要是用來啟動操作系統(tǒng)的,它主要放的是操作系統(tǒng)的啟動或引導程序,/boot分區(qū)最好放在主分區(qū)上
擴展分區(qū):不能使用的,它只是做為邏輯分區(qū)的容器存在的;我們真正存放數據的是主分區(qū)和邏輯分區(qū),大量數據都放在邏輯分區(qū)中。
注意:使用分區(qū)工具fdisk對磁盤進行操作,分區(qū),格式化(重點)
命名方式: /dev/sd[a-z]n
其中:a-z 表示設備的序號,如sda表示第一塊scsi硬盤,sdb就是第二塊…
n 表示每塊磁盤上劃分的磁盤分區(qū)編號
12.2.2 使用fdisk管理分區(qū)
用法:fdisk [選項] device
常用的選項 : -l 查看硬盤分區(qū)表
案例:在sdb盤上建一個分區(qū),大小為100M
在虛擬機上添加一塊硬盤
例:對sdb這塊盤劃分一個100M的分區(qū)出來
…
Command (m for help): m Command actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partition 刪除分區(qū)g create a new empty GPT partition tableG create an IRIX (SGI) partition tablel list known partition types 顯示分區(qū)類型m print this menu 打印幫助菜單n add a new partition 添加新的分區(qū)o create a new empty DOS partition tablep print the partition table 顯示分區(qū)表q quit without saving changes 不保存,退出s create a new empty Sun disklabelt change a partition's system id 改變分區(qū)類型u change display/entry unitsv verify the partition tablew write table to disk and exit 寫分區(qū)表信息到硬盤,保存操作并退出x extra functionality (experts only)Command (m for help): p -----打印分區(qū)表 Command (m for help): n ----新建一個分區(qū) Partition type:p primary (2 primary, 0 extended, 2 free) p:主分區(qū)e extended e:擴展分區(qū) 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 輸入分區(qū)大小 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:對已經在使用的磁盤進行分區(qū),分區(qū)讓新生成的分區(qū)生效。如果對sda再做一個sda4主分區(qū)
[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 已選擇分區(qū) 4 起始 扇區(qū) (23480320-41943039,默認為 23480320): 將使用默認值 23480320 Last 扇區(qū), +扇區(qū) or +size{K,M,G} (23480320-41943039,默認為 41943039):+1G 分區(qū) 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)解決:讓新生成的分區(qū)生效:
[root@xuegod63 ~]#reboot #這個是最好的方法或
[root@xuegod63 ~]# partx -a /dev/sda #獲得新分區(qū)表使用sdb1新分區(qū):
[root@xuegod63 ~]# mkfs.ext4 /dev/sdb1 [root@xuegod63 ~]# mkfs.xfs /dev/sdb1 #格式化,-f 對已經存在文件系統(tǒng)的分區(qū),強制格式化 [root@xuegod63 ~]# mkdir /sdb1 #創(chuàng)建掛載點 [root@xuegod63 ~]# mount /dev/sdb1 /sdb1/ #掛載 [root@xuegod63 ~]# df -h #查看 文件系統(tǒng) 容量 已用 可用 已用% 掛載點 /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/ #使用新分區(qū) [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 要掛載的分區(qū)設備 掛載點 文件系統(tǒng)類型 掛載選項 是否備份 是否檢測[root@xuegod63 ~]# mount -a #自動掛載/etc/fstab中沒有掛載上的文件 [root@xuegod63 ~]# df -h 文件系統(tǒng) 容量 已用 可用 已用% 掛載點 /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 #發(fā)現(xiàn)已經掛載上,說明配置沒有問題。 然后再重啟,看看掛載方法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 要掛載的分區(qū)設備 掛載點 文件系統(tǒng)類型 掛載選項 是否備份 是否檢測 其中第四列:parameters-文件系統(tǒng)的參數Async/sync 設置是否為同步方式運行,默認為asyncauto/noauto 當執(zhí)行mount -a 的命令時,此文件系統(tǒng)是否被主動掛載。默認為autorw/ro 是否以以只讀或者讀寫模式掛載exec/noexe 限制此文件系統(tǒng)內是否能夠進行"執(zhí)行"的操作user/nouser 是否允許用戶使用mount命令掛載suid/nosuid 是否允許SUID的存在Usrquota 啟動文件系統(tǒng)支持磁盤配額模式Grpquota 啟動文件系統(tǒng)對群組磁盤配額模式的支持Defaults 同時具有rw,suid,dev,exec,auto,nouser,async等默認參數的設置 samba nfs 第五列:是否進行備份。通常這個參數的值為0或者10 代表不要做備份1 代表要每天進行操作2 代表不定日期的進行操作 第六列:是否檢驗扇區(qū):開機的過程中,系統(tǒng)默認會以fsck檢驗我們系統(tǒng)是否為完整0 不要檢驗1 最早檢驗(一般根目錄會選擇)2 1級別檢驗完成之后進行檢驗12.2.3 gdisk 磁盤分區(qū)工具
gdisk主要是用來劃分容量大于2T的硬盤,大于2T fdisk搞不定兩種類型的分區(qū)表:
GPT和MBR ; MBR不支持4T以上
GPT分區(qū):GPT,全局唯一標識分區(qū)表(GUID Partition Table),它使用128位GUID來唯一標識每個磁盤和分區(qū),與MBR存在單一故障點不同,GPT提供分區(qū)表信息的冗余,一個在磁盤頭部一個在磁盤尾部;它通過CRC校驗和來檢測GPT頭和分區(qū)表中的錯誤與損壞;默認一個硬盤支持128個分區(qū)
例:對sdb做gpt分區(qū),創(chuàng)建一個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 #刪除分區(qū) i show detailed information on a partition l list known partition types n add a new partition # 添加一個分區(qū) o create a new empty GUID partition table (GPT) p print the partition table # 打印分區(qū)表 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 # # 寫入分區(qū)表并退出 x extra functionality (experts only) ? print this menuCommand (? for help): n #新建分區(qū)表 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): #分區(qū)類型直接回車 注: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 Name1 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重啟系統(tǒng)后,系統(tǒng)報錯:
重啟后報錯:
輸入root密碼: 123456
把fstab中新添加開機自動加載項目刪除:
然后reboot
12.3 實戰(zhàn)擴展swap分區(qū)
Swap分區(qū)在系統(tǒng)的物理內存不夠用的時候,把硬盤空間中的一部分空間釋放出來,以供當前運行的程序使用。mkswap /devices (格式化成swap格式) swapon /swap (激活/swap,加入到swap分區(qū)中) vim /etc/fstab (開機自啟動新添加的swap分區(qū)) ,在最后追加: /devices swap swap defaults 0 0如果不想使用需要刪除,只需要執(zhí)行#swapoff /swap12.3.1 先分個區(qū)
[root@xuegod63 ~]# gdisk /dev/sdb ... Command (? for help): n #新建分區(qū) 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 -mtotal 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 -mtotal 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 -mtotal 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 -212.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總結:
12.1 存儲的基本知識
12.2 硬盤分區(qū)介紹
12.3 磁盤分區(qū)工具
12.2 實戰(zhàn)擴展swap分區(qū)
總結
以上是生活随笔為你收集整理的【Linux云计算架构:第一阶段-Linux操作系统入门到精通】第12章——硬盘介绍和磁盘管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓嵌入式开发教程!渣本毕业两年经验,满
- 下一篇: vs最常用快捷键