1.什么是磁盤
磁盤(disk)是指利用磁記錄技術(shù)存儲數(shù)據(jù)的存儲器。
磁盤是計算機主要的存儲介質(zhì)蹬屹,可以存儲大量的二進(jìn)制數(shù)據(jù)侣背,并且斷電后也能保持?jǐn)?shù)據(jù)不丟失。
早期計算機使用的磁盤是軟磁盤(soft disk慨默,簡稱軟盤)贩耐,如今常用的磁盤是硬磁盤(hard disk,簡稱硬盤)厦取。
每個硬盤中心都是一摞高速運轉(zhuǎn)的圓盤潮太,在圓盤上附著的一圈金屬顆粒,每個金屬顆粒都有自己的磁化程度虾攻,用于儲存0和1铡买。
當(dāng)記錄數(shù)據(jù)時,硬盤的磁頭開始通電霎箍,形成強磁場奇钞,數(shù)據(jù)在磁場的作用下轉(zhuǎn)變成電流,使顆粒磁化漂坏,從而將我們的需要存儲的信息數(shù)據(jù)記錄在圓盤上景埃。
2.磁盤的基本結(jié)構(gòu)
傳統(tǒng)的硬盤盤結(jié)構(gòu)是像下面這個樣子的,它有一個或多個盤片樊拓,用于存儲數(shù)據(jù)纠亚。盤片多采用鋁合金材料;中間有一個主軸筋夏,所有的盤片都繞著這個主軸轉(zhuǎn)動蒂胞。一個組合臂上面有多個磁頭臂,每個磁頭臂上面都有一個磁頭条篷,負(fù)責(zé)讀寫數(shù)據(jù)骗随。
磁盤一般有一個或多個盤片蛤织。每個盤片可以有兩面,即第一個盤片的正面為0面鸿染,反面為 1 面指蚜;第二個盤片的正面為 2 面…依次類推涨椒。磁頭的編號也和盤面的編號是一樣的,因此有多少個盤面就有多少個磁頭蚕冬。盤面正視圖如下圖,磁頭的傳動臂只能在盤片的內(nèi)外磁道之間移動囤热。因此不管開機還是關(guān)機猎提,磁頭總是在盤片上面。關(guān)機時锨苏,磁頭停在盤片上面棺聊,抖動容易劃傷盤面造成數(shù)據(jù)損失伞租,為了避免這樣的情況,所以磁頭都是停留在起停區(qū)的躺屁,起停區(qū)是沒有數(shù)據(jù)的肯夏。
每個盤片的盤面被劃分成多個狹窄的同心圓環(huán)犀暑,數(shù)據(jù)就存儲在這樣的同心圓環(huán)上面,我們將這樣的圓環(huán)稱為磁道 (Track)徊都。每個盤面可以劃分多個磁道广辰,最外圈的磁道是0號磁道,向圓心增長依次為1磁道择吊、2磁道…磁盤的數(shù)據(jù)存放就是從最外圈開始的。
根據(jù)硬盤的規(guī)格不同房轿,磁道數(shù)可以從幾百到成千上萬不等。每個磁道可以存儲數(shù) Kb 的數(shù)據(jù)囱持,但是計算機不必要每次都讀寫這么多數(shù)據(jù)。因此盔几,再把每個磁道劃分為若干個弧段掩幢,每個弧段就是一個扇區(qū) (Sector)。扇區(qū)是硬盤上存儲的物理單位粒蜈,現(xiàn)在每個扇區(qū)可存儲 512 字節(jié)數(shù)據(jù)已經(jīng)成了業(yè)界的約定。也就是說,即使計算機只需要某一個字節(jié)的數(shù)據(jù)能曾,但是也得把這個 512 個字節(jié)的數(shù)據(jù)全部讀入內(nèi)存,再選擇所需要的那個字節(jié)蕊程。
柱面是我們抽象出來的一個邏輯概念驼唱,簡單來說就是處于同一個垂直區(qū)域的磁道稱為柱面 ,即各盤面上面相同位置磁道的集合玫恳。需要注意的是,磁盤讀寫數(shù)據(jù)是按柱面進(jìn)行的掀序,磁頭讀寫數(shù)據(jù)時首先在同一柱面內(nèi)從 0 磁頭開始進(jìn)行操作惭婿,依次向下在同一柱面的不同盤面(即磁頭上)進(jìn)行操作,只有在同一柱面所有的磁頭全部讀寫完畢后磁頭才轉(zhuǎn)移到下一柱面财饥。因為選取磁頭只需通過電子切換即可,而選取柱面則必須通過機械切換沾瓦。數(shù)據(jù)的讀寫是按柱面進(jìn)行的,而不是按盤面進(jìn)行暴拄,所以把數(shù)據(jù)存到同一個柱面是很有價值的。
3.磁盤的相關(guān)知識
磁盤的接口
IDE响驴,Scsi(已經(jīng)被淘汰)
SATA III 與SAS(企業(yè)使用較多)
2.磁盤的基本術(shù)語
尺寸: 2.5英寸 3.5英寸
容量:KB MB GB TB PB EB
轉(zhuǎn)速:7500 15000
IOPS:每秒能夠發(fā)生IO的次數(shù)
3.磁盤在系統(tǒng)上的命名方式
設(shè)備名稱 | 分區(qū)信息 | 設(shè)備類型 |
---|---|---|
/dev/sda | /dev/sda1 | 第一塊物理磁盤第一分區(qū) |
/dev/sdb | /dev/sdb2 | 第二塊物理磁盤第二個分區(qū) |
/dev/vdd | /dev/vdd4 | 第四塊虛擬磁盤的第四個分區(qū) |
4.磁盤的基本分區(qū)(跟著練習(xí)題走一波)
(1)一塊磁盤建立兩個分區(qū)豁鲤,每個分區(qū)可用空間150G鲸沮,另一塊磁盤建立一個分區(qū)并分配所有磁盤容量
1.關(guān)閉虛擬機,添加兩個300G的硬盤讼溺,然后打開虛擬機
image.png
2.[root@oldboyedu ~]# fdisk /dev/sdb #fdisk+新增的第一塊硬盤 ——開始分區(qū)
command (m for help): n #新增分區(qū) Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p #p是選擇主分區(qū)怒坯,e為擴展分區(qū) Partition number (1-4, default 1): #是否從第一個分區(qū)開始,默認(rèn)為一剔猿,直接回車 First sector (2048-629145599, default 2048): #是否從2048字節(jié)分區(qū),默認(rèn)2048 Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599): +150G #截至到多少字節(jié)酷含,或添加多少空間汪茧,默認(rèn)截至到最后一個字節(jié),也就是給予所有空間 Partition 1 of type Linux and of size 150 GiB is set Command (m for help): n #繼續(xù)分區(qū) Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p Partition number (2-4, default 2): First sector (314574848-629145599, default 314574848): Using default value 314574848 Last sector, +sectors or +size{K,M,G} (314574848-629145599, default 629145599): Using default value 629145599 Partition 2 of type Linux and of size 150 GiB is set `Command (m for help): w` #保存退出 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
3.[root@oldboyedu ~]# fdisk /dev/sdc #為新增的第二塊硬盤分區(qū)
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xa4f366a7. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-629145599, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599): Using default value 629145599 Partition 1 of type Linux and of size 300 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
4.[root@oldboyedu ~]# lsblk #查看分區(qū)也可以用 ll /dev/sd*查看
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 1G 0 part [SWAP] └─sda3 8:3 0 18G 0 part / sdb 8:16 0 300G 0 disk ├─sdb1 8:17 0 150G 0 part └─sdb2 8:18 0 150G 0 part sdc 8:32 0 300G 0 disk └─sdc1 8:33 0 300G 0 part sr0 11:0 1 4.3G 0 rom
(2)查看已完成分區(qū)的磁盤設(shè)備什往,將已創(chuàng)建的磁盤分區(qū)格式化為xfs的文件系統(tǒng)
[root@oldboyedu ~]# mkfs.xfs /dev/sdb1 #為三個分區(qū)格式化格式化 [root@oldboyedu ~]# mkfs.xfs /dev/sdb2 [root@oldboyedu ~]# mkfs.xfs /dev/sdc1 [root@oldboyedu ~]# lsblk #再次查看分區(qū) NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 1G 0 part [SWAP] └─sda3 8:3 0 18G 0 part / sdb 8:16 0 300G 0 disk ├─sdb1 8:17 0 150G 0 part └─sdb2 8:18 0 150G 0 part sdc 8:32 0 300G 0 disk └─sdc1 8:33 0 300G 0 part sr0 11:0 1 4.3G 0 rom
(3)新建目錄/data/test1别威,/data/test2驴剔,/data/test3,將已完成格式化的磁盤設(shè)備分別臨時掛載到這三個目錄下(可隨意掛載)
[root@oldboyedu ~]# mkdir -p /data/test{1..3} #新增三個目錄 [root@oldboyedu ~]# mount /dev/sdb1 /data/test1/ #分別為三個分區(qū)設(shè)置臨時掛載點 [root@oldboyedu ~]# mount /dev/sdb2 /data/test2 [root@oldboyedu ~]# mount /dev/sdc1 /data/test3
(4)查看當(dāng)前系統(tǒng)磁盤使用情況丧失,是否掛載成功
[root@oldboyedu ~]# lsblk #再次查看分區(qū) NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 1G 0 part [SWAP] └─sda3 8:3 0 18G 0 part / sdb 8:16 0 300G 0 disk ├─sdb1 8:17 0 150G 0 part /data/test1 └─sdb2 8:18 0 150G 0 part /data/test2 sdc 8:32 0 300G 0 disk └─sdc1 8:33 0 300G 0 part /data/test3 sr0 11:0 1 4.3G 0 rom