[toc] 操作系統 人與電腦硬體之間的中介 類別 window7,8,10 linux unix mac 32位和64位有什麼區別 設計定位不同 運算能力不同 定址能力不同,32位支持4G,64位支持128G物理記憶體 安裝要求不同 磁碟管理 磁碟的基本概念 磁碟 磁碟就像是森林,是所有硬式存儲的 ...
目錄
操作系統
人與電腦硬體之間的中介
類別
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%E6%8E%A5%E5%8F%A3
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/%E4%B8%BB%E5%BC%95%E5%AF%BC%E8%AE%B0%E5%BD%95/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