存储器
分为内部存储器、外部存储器。
内部存储器:内存
外部存储器:磁盘,磁盘一般包括硬盘、软盘、光盘
内存和磁盘的优缺点:
内存:优点(读取速度快)、缺点(一旦断电数据就没了)
磁盘:优点(断电后数据依然存在)、缺点(比内存读取速度慢)
查看挂载多少个磁盘及分区情况
命令:fdisk -l
字段解释:
Disk /dev/sda:磁盘总大小
heads:多少个磁面
sectors/track:多少个扇区
cylinders:多少个磁柱
Units:每个磁柱的容量
Device:磁盘名称
Device+数字:磁盘分区名称
Start:表示一个分区从X磁柱(cylinders)开始
End:表示一个分区从Y磁柱(cylinders)结束
Blocks:分区的容量,单位是k
Id:分区类型ID
System:分区类型
Disk /dev/sda: 75.2 GB, 75161927680 bytes
255 heads, 63 sectors/track, 9137 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005abf3
Device Boot Start End Blocks Id System
/dev/sda1 * 1 39 307200 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 39 549 4096000 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 549 9138 68996096 83 Linux
增加一个新磁盘及分区:
1、先将磁盘插入到服务器。
2、进入磁盘,命令:fdisk 磁盘名称
3、给磁盘建立分区:输入n新建分区,输入p新建主分区,输入1(主分区号),分别设置磁盘分区磁柱的起始终止位置,这里采用默认,即分区为硬盘大小。输入w对分区进行保存。
4、分区格式化:输入mkfs.ext4 分区名称。
5、挂在分区:先创建挂载文件夹mkdir 分区名称;输入mount 分区名称 挂在在什么路径。
5、开启自动挂在分区:编辑/etc/fstab,添加如下内容,使得磁盘开机挂载到/app。
/dev/sdb1 /app ext4 defaults 0 0
查看挂载磁盘分区使用情况
命令:df -h
字段解释:
Filesystem:文件系统描述
Size:总大小
Used:已使用大小
Avail:可用大小
Capacity:可用容量
%iused:已使用百分比
Mounted on:分区挂在在什么地方
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 65G 6.2G 56G 11% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 291M 39M 238M 14% /boot
已有磁盘分区扩容:
现有磁盘分区如果不足,需要扩容,但不丢失数据的方法。
思路:
1、卸载磁盘分区。
2、删除磁盘分区(不会丢失数据;有时候磁盘分区太多,需要删除无用的分区,然后再扩容)。
3、创建磁盘新的磁盘分区,分区标识与之前一样,磁柱开始位置与之间一样,磁柱结束位置改成需要扩容的位置即可。
4、保存分区后,检查分区信息以及调整分区大小。
5、最后挂载分区,挂载的路径与之前的保持一致,最后扩容成功并不丢失数据。
操作:
1、卸载磁盘分区:umount 磁盘分区名称
2、进入磁盘:fdisk 磁盘名称
3、删除磁盘分区:输入p查看分区,然后输入d删除分区
4、创建新的分区:输入n创建分区,然后输入分区标识(与之前的保持一致),磁柱起始位置与之前的保持一致(非常重要),磁柱结束位置是你需要扩容的位置(非常重要)
5、保存分区:输入wp
6、检查分区信息:e2fsck -f 磁盘分区名称
7、调整分区大小:resize2fs -p 磁盘分区名称
8、挂在分区:mount 分区名称 挂在在什么路径,与之前的保持一致
面试问题
服务器如何添加一个磁盘?
现有磁盘如何分区?
现有磁盘分区如何在不丢失数据的情况下扩容?