操作系统与磁盘管理
目录
操作系统
人与计算机硬件之间的中介
类别
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