欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

操作系统与磁盘管理

程序员文章站 2023-02-23 08:51:04
[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

存放数据

  • 硬盘分区的设备名
  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的硬盘

一,添加硬盘

操作系统与磁盘管理

操作系统与磁盘管理

操作系统与磁盘管理

操作系统与磁盘管理

操作系统与磁盘管理

操作系统与磁盘管理

操作系统与磁盘管理

二,虚拟机添加磁盘分区,添加完成后重启虚拟机

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