操作系統與磁盤管理


操作系統

人與計算機硬件之間的中介

類別

window7,8,10

linux

unix

mac

32位和64位有什么區別

  • 設計定位不同
  • 運算能力不同
  • 尋址能力不同,32位支持4G,64位支持128G物理內存
  • 安裝要求不同

磁盤管理

磁盤的基本概念

磁盤

磁盤就像是森林,是所有硬式存儲的統稱,如最早出現的軟盤,現在的硬盤,都是磁盤中的一部分。

軟盤

磁盤開始指的是1.44MB的3.5英寸磁盤,這是很早時候的電腦儲存盤,也叫軟盤

軟盤在如今已經很少被使用了,使用軟盤需要安裝軟盤驅動。軟盤容量小,容易損壞。隨着數據的大量增長,軟盤已經不滿足日益所需的數據存儲需求,如是,硬盤便被研發出來。

硬盤

硬盤就是計算機中的最大的存儲裝置了,就是將磁盤的儲存片裝到硬質金屬盒子里可以得到更好的保護,而且在使用壽命上也比軟盤優越得多,只有低格才對硬盤有很大的傷害,其它的讀寫是不要緊的,也就叫硬盤。

區別

磁盤是一種統稱,即是一開始的軟盤,又是現如今的硬盤,但是在現在,說起磁盤,都指的是硬盤。

磁盤的基本結構

img

img

  • 磁頭(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扇區

img

前446字節 mbr 主引導記錄

64字節的分區表

55AA 表示的是結束標記

  • 磁盤-盤片-mbr
  • 主分區 primary

一般一定要有

存放數據

  • 擴展分區 extend

最多1個

無法直接使用

注意:主分區+擴展分區一共最多可以有4個

  • 邏輯分區 logical

存放數據

  • 硬盤分區的設備名
  1. 磁盤

SAS/SATA/SCSI /dev/sd?

第一塊硬盤SAS /dev/sda

第三塊SATA硬盤 /dev/sdc

  1. 分區

主分區和擴展分區 1-4

邏輯分區 從5開始

  1. 例子

第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的硬盤

一,添加硬盤

img

img

img

img

img

img

img

二,虛擬機添加磁盤分區,添加完成后重啟虛擬機

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM