2021SC@SDUSC
磁盘管理
磁盘管理是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的,它们位于"计算机管理"控制台中.它包括查错程序和磁盘碎片整理程序以及磁盘整理程序。
实验六:磁盘管理部分
1.实验目的
1)掌握 Ubuntu 系统下文件系统中磁盘管理部分命令行的原理及使用
2.实验内容
本次实验主要是掌握 Linux 系统下的磁盘管理部分的使用,主要包括以下内容:
第四部分(系统管理部分):
1.df 命令-显示磁盘空间使用情况
2.fdisk 命令-磁盘分区
3. hdparm 命令-显示与设定硬盘参数
4. lsblk 命令-查看系统的磁盘
5. vgextend 命令-扩展卷组
3.实验环境
树莓派 4B,系统为 Ubuntu 21.10 系统 。实验的编程环境为 Terminal 终端程序
4.实验步骤
1.df 命令
(1)语法
df [参数] [指定文件]
(2)功能
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
(3)参数
(4)实例
查看系统磁盘设备,默认是KB为单位:
[root@LinServ-1 ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 146294492 28244432 110498708 21% /
/dev/sda1 1019208 62360 904240 7% /boot
tmpfs 1032204 0 1032204 0% /dev/shm
/dev/sdb1 2884284108 218826068 2518944764 8% /data1
使用-h
选项以KB以上的单位来显示,可读性高:
[root@LinServ-1 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 140G 27G 106G 21% /
/dev/sda1 996M 61M 884M 7% /boot
tmpfs 1009M 0 1009M 0% /dev/shm
/dev/sdb1 2.7T 209G 2.4T 8% /data1
查看全部文件系统:
[root@LinServ-1 ~]# df -a
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 146294492 28244432 110498708 21% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/sda1 1019208 62360 904240 7% /boot
tmpfs 1032204 0 1032204 0% /dev/shm
/dev/sdb1 2884284108 218826068 2518944764 8% /data1
none 0 0 0 - /proc/sys/fs/binfmt_misc
2.fdisk 命令-磁盘分区
(1)语法
fdisk [参数]
(2)功能
fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣。
(3)参数
(4)实例
首先选择要进行操作的磁盘:
[root@localhost ~]# fdisk /dev/sdb
输入p
列出磁盘目前的分区情况:
Command (m for help): p
Disk /dev/sdb: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1 8001 8e Linux LVM
/dev/sdb2 2 26 200812+ 83 Linux
输入d
然后选择分区,删除现有分区:
Command (m for help): d
Partition number (1-4): 1
Command (m for help): d
Selected partition 2
3.hdparm 命令-显示与设定硬盘参数
(1)语法
hdparm [参数]
(2)功能
hdparm命令提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数。
(3)参数
(4)实例
显示硬盘的相关设置:
hdparm /dev/sda /dev/sda: IO_support = 0 (default 16-bit) readonly = 0 (off) readahead = 256 (on) geometry = 19457[柱面数]/255[磁头数]/63[扇区数], sectors = 312581808[总扇区数], start = 0[起始扇区数]
显示硬盘的柱面、磁头、扇区数:
hdparm -g /dev/sda
/dev/sda:
geometry = 19457[柱面数]/255[磁头数]/63[扇区数], sectors = 312581808[总扇区数], start = 0[起始扇区数]
测试硬盘的读取速度:
hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 4684 MB in 2.00 seconds = 2342.92 MB/sec
测试硬盘缓存的读取速度:
hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 11154 MB in 1.98 seconds = 5633.44 MB/sec
检测硬盘的电源管理模式:
hdparm -C /dev/sda
/dev/sda:
drive state is: standby [省电模式]
4.lsblk 命令-查看系统的磁盘
(1)语法
lsblk [参数]
(2)功能
lsblk命令 用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在此处下载util-linux包。Fedora用户可以通过命令sudo yum install util-linux-ng
来安装该包。
(3)参数
-a, --all 显示所有设备。
-b, --bytes 以bytes方式显示设备大小。
-d, --nodeps 不显示 slaves 或 holders。
-D, --discard print discard capabilities。
-e, --exclude <list> 排除设备 (default: RAM disks)。
-f, --fs 显示文件系统信息。
-h, --help 显示帮助信息。
-i, --ascii use ascii characters only。
-m, --perms 显示权限信息。
-l, --list 使用列表格式显示。
-n, --noheadings 不显示标题。
-o, --output <list> 输出列。
-P, --pairs 使用key="value"格式显示。
-r, --raw 使用原始格式显示。
-t, --topology 显示拓扑结构信息。
(4)实例
lsblk命令默认情况下将以树状列出所有块设备。打开终端,并输入以下命令:
lsblk
NAME MAJ:MIN rm SIZE RO type mountpoint
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 46.6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 190M 0 part /boot
├─sda6 8:6 0 3.7G 0 part [SWAP]
├─sda7 8:7 0 93.1G 0 part /data
└─sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
7个栏目名称如下:
- NAME :这是块设备名。
- MAJ:MIN :本栏显示主要和次要设备号。
- RM :本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。
- SIZE :本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。
- RO :该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。
- TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
- MOUNTPOINT :本栏指出设备挂载的挂载点。
默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:
lsblk -a
lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:
lsblk -m
该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如,你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣,那么你可以通过运行以下命令来实现:
lsblk -b /dev/sda
等价于
lsblk --bytes /dev/sda
5.vgextend 命令-扩展卷组
(1)语法
vgextend [参数]
(2)功能
vgextend命令用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。
(3)参数
-d | 调试模式 |
-t | 仅测试 |
(4)实例
使用vgextend命令向卷组”vg2000″中添加物理卷。在命令行中输入下面的命令:
[root@localhost ~]# vgextend vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"加入卷组"vg2000"
输出信息如下:
Volume group "vg2000" successfully extended