操作系統
人與計算機硬件之間的中介
類別
window7,8,10
linux
unix
mac
32位和64位有什么區別
- 設計定位不同
- 運算能力不同
- 尋址能力不同,32位支持4G,64位支持128G物理內存
- 安裝要求不同
磁盤管理
磁盤的基本概念
磁盤
磁盤就像是森林,是所有硬式存儲的統稱,如最早出現的軟盤,現在的硬盤,都是磁盤中的一部分。
軟盤
磁盤開始指的是1.44MB的3.5英寸磁盤,這是很早時候的電腦儲存盤,也叫軟盤
軟盤在如今已經很少被使用了,使用軟盤需要安裝軟盤驅動。軟盤容量小,容易損壞。隨着數據的大量增長,軟盤已經不滿足日益所需的數據存儲需求,如是,硬盤便被研發出來。
硬盤
硬盤就是計算機中的最大的存儲裝置了,就是將磁盤的儲存片裝到硬質金屬盒子里可以得到更好的保護,而且在使用壽命上也比軟盤優越得多,只有低格才對硬盤有很大的傷害,其它的讀寫是不要緊的,也就叫硬盤。
區別
磁盤是一種統稱,即是一開始的軟盤,又是現如今的硬盤,但是在現在,說起磁盤,都指的是硬盤。
磁盤的基本結構
- 磁頭(Head)
盤面數量==磁頭數量
作用:用來寫入和讀取數據的
徑向運動尋道
- 磁道(Track)
從外面到里面最外面是0磁道
- 扇區(Sector)
磁道上面的最小的單位
默認大小512字節
- 柱面(Cylinder)
不同盤面上面的相同的磁道組成的圓柱體
不同盤面上的相同的呼啦圈組成的圓柱體
磁盤默認是按照柱面進行讀寫
磁頭之間的切換速度接近於光速
磁頭徑向運動-尋道機械運動慢
- 單元塊(Units)
磁盤是按柱面進行讀寫的,表示一個柱面的大小
- 計算磁盤大小
磁盤大小=柱面的大小*柱面的數量
柱面的大小=一個磁道的大小*磁頭數量
一個磁道的大小=一個扇區的大小*扇區數量/每個磁道
fdisk 查看磁盤詳細信息
echo + bc
awk
磁盤的預備知識
IDE,SCSI (已經被淘汰)
SATA III 與 SAS (企業使用較多)
M.2接口是為超極本(Ultrabook)量身定做的新一代接口標准,以取代原來的mSATA接口。無論是更小巧的規格尺寸,還是更高的傳輸性能,M.2都遠勝於mSATA
M2接口百度百科
你了解M.2固態硬盤嗎?
裝機到底要不要買M.2接口的SSD?
SATA、MSATA、PCIE和M2都是什么?
固態硬盤SATA和MSATA有什么區別?
https://baike.baidu.com/item/m.2接口
http://baijiahao.baidu.com/s?id=1604321789851430125&wfr=spider&for=pc
http://www.sohu.com/a/253988990_610530
http://www.sohu.com/a/229021919_463982
https://zhidao.baidu.com/question/754765227221408324.html
機械和固態的對比
機械(HDD) 固態(SSD)
容量大價格低 容量小價格高
抗擊打能力弱 抗擊打能力高
讀寫速度稍慢 讀寫速度很快
數據恢復易 數據恢復難
使用時間無限 使用時間1-2w次
尺寸:2.5英寸 3.5英寸
單位:B KB MB GB TB PB
轉速:7200 10K 15K
iops:每秒的輸入和輸出
設備名稱 分區信息 設備類型
/dev/sda /dev/sda1 第一塊物理磁盤第一分區
/dev/sdb /dev/sdb2 第二塊磁盤第二個分區
/dev/vdd /dev/vdd4 第四塊虛擬磁盤的第四個分區
注意:
1.系統中分區由數字編號表示,1-4表示給主分區使用和擴展分區,邏輯分區從5開始
https://baike.baidu.com/item/主引導記錄/7612638
2.前面我們已經提到過MBR分區表只能分配4個主分區,但現在還有一種新型的分區表GPT,GPT支持分配128個主分區。注意MBR與GPT之間不能互轉,會導致數據丟失。
http://www.360doc.com/content/18/0614/22/6140124_762487520.shtml
MBR位置:0磁道0磁道1扇區
前446字節 mbr 主引導記錄
64字節的分區表
55AA 表示的是結束標記
- 磁盤-盤片-mbr
- 主分區 primary
一般一定要有
存放數據
- 擴展分區 extend
最多1個
無法直接使用
注意:主分區+擴展分區一共最多可以有4個
- 邏輯分區 logical
存放數據
- 硬盤分區的設備名
- 磁盤
SAS/SATA/SCSI /dev/sd?
第一塊硬盤SAS /dev/sda
第三塊SATA硬盤 /dev/sdc
- 分區
主分區和擴展分區 1-4
邏輯分區 從5開始
- 例子
第1塊sas硬盤的第一個主分區 /dev/sda1
第2塊sata硬盤的第2個主分區 /dev/sdb2
第3塊sata硬盤的第1個邏輯分區 /dev/sdc5
顯示磁盤分區信息的命令
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 3.0G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 18M 973M 2% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
/dev/sr0 4.3G 4.3G 0 100% /mnt
tmpfs 199M 0 199M 0% /run/user/0
tmpfs 199M 0 199M 0% /run/user/1011
[root@web ~]# du -sh /etc
166M /etc
[root@web ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 47.8G 0 part /
sr0 11:0 1 4.3G 0 rom /mnt
fdisk磁盤分區實踐
適用於磁盤小於2TB的磁盤,分區類型MBR,主分區4或主分區3+擴展分區(邏輯分區+…),分區后需要保存后生效
模擬環境
虛擬機添加一塊10GB的硬盤
一,添加硬盤
二,虛擬機添加磁盤分區,添加完成后重啟虛擬機
1,查看
[root@web ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Jul 16 18:33 /dev/sda
brw-rw----. 1 root disk 8, 1 Jul 16 18:33 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jul 16 18:33 /dev/sda2
brw-rw----. 1 root disk 8, 3 Jul 16 18:33 /dev/sda3
brw-rw----. 1 root disk 8, 16 Jul 16 18:33 /dev/sdb
brw-rw----. 1 root disk 8, 32 Jul 16 18:33 /dev/sdc
[root@web ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 47.8G 0 part /
sdb 8:16 0 20G 0 disk
sdc 8:32 0 3T 0 disk
sr0 11:0 1 4.3G 0 rom
2,fdisk 只支持MBR分區表,適用於2TB以下的分區
fdisk 只支持MBR分區表,適用於2TB以下的分區。
[root@web ~]# fdisk /dev/sdb
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 0x5b38e62c.
Command (m for help): m
Command action
a toggle a bootable flag #切換分區啟動標記
b edit bsd disklabel #編輯sdb磁盤標簽
c toggle the dos compatibility flag #切換dos兼容模式
** d delete a partition #刪除分區
g create a new empty GPT partition table #創建新的空白GPT分區表
G create an IRIX (SGI) partition table #創建IRIX (SGI)分區表
** 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 #創建新的Sun磁盤標簽
t change a partitions system id #修改分區ID,可以通過l查看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): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1G
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x5b38e62c
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
```
```
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
2,格式化分區,創建文件系統
[root@web ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
3,創建掛載點
[root@web ~]# mkdir /data1
[root@web ~]# ll /data1
total 0
[root@web ~]# cp /etc/services /data1
[root@web ~]# ll /data1
total 656
-rw-r--r--. 1 root root 670293 Jul 16 19:01 services
4,掛載(臨時掛載)
[root@web ~]# mount /dev/sdb1 /data1
[root@web ~]# ll /data1
total 0
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 3.0G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.7M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 1014M 33M 982M 4% /data1
[root@web ~]# dd if=/dev/zero of=/data1/test.txt bs=10M count=50
50+0 records in
50+0 records out
524288000 bytes (524 MB) copied, 2.13248 s, 246 MB/s
[root@web ~]# ll /data1/
total 512000
-rw-r--r--. 1 root root 524288000 Jul 16 19:03 test.txt
[root@web ~]# ll /data1/ -h
total 500M
-rw-r--r--. 1 root root 500M Jul 16 19:03 test.txt
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 3.0G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.7M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 1014M 533M 482M 53% /data1
5,永久掛載
[root@web ~]# vim /etc/fstab
[root@web ~]# tail -1 /etc/fstab
/dev/sdb1 /data1 xfs defaults 0 0
[root@web ~]# umount /data1/
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 3.0G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.7M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
[root@web ~]# mount -a #重新加載掛件
echo $?檢查
[root@web ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 3.0G 45G 7% /
devtmpfs 980M 0 980M 0% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.7M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 197M 105M 93M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 1014M 533M 482M 53% /data1
6,重新選擇一個掛載點
[root@web ~]# umount /data1/
[root@web ~]#
[root@web ~]# ll /data1/
total 656
-rw-r--r--. 1 root root 670293 Jul 16 19:01 services
[root@web ~]# mkdir /data2
[root@web ~]# ll /data2
total 0
[root@web ~]# mount /dev/sdb1 /data2
[root@web ~]# ll /data2
total 512000
-rw-r--r--. 1 root root 524288000 Jul 16 19:03 test.txt