大家好,今天来为大家解答高效磁盘管理指南:优化存储空间与性能这个问题的一些问题点,包括也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
image.pngimage.png Linux系统中与硬件设备相关的配置文件存放在/dev下。常见的硬盘名称有/dev/hda、/dev/sda、/dev/sdb、/dev/sdc 和/dev/vda。不同的硬盘接口系统中识别的设备名称不同。 Linux 中的IDE 硬盘接口名为/dev/hda。 SAS、SCSI 和SATA 硬盘接口在Liunx 中被命名为sda。高效云盘硬盘接口会被识别为/dev/vda。硬盘的最小存储单元称为扇区(sector),每个sector存储512字节。操作系统读取硬盘时,不会逐扇区地读取。这是非常低效的。为了提高效率,操作系统会一次性读取全部。连续读取多个扇区,即一次读取多个扇区,称为一个块。由多个扇区组成的块是文件访问的最小单位。常见的块大小有1KB、2KB 和4KB。在Linux中,介质通常设置为4KB,即连续8个sector组成一个block。 /boot分区的块一般为1KB,/data分区或/partition的块为4KB#检查块和inode大小
[root@ali ~]# dumpe2fs /dev/vda1|grep "块大小"
dumpe2fs 1.42.9(2013 年12 月28 日)
块尺寸: 4096
[root@ali ~]# tune2fs -l /dev/vda1|grep "块大小"
块尺寸: 4096
[root@ali ~]# tune2fs -l /dev/vda1|grep "索引节点大小"
索引节点大小: 256
[root@lianxi ~]# stat /boot/|grep "IO 块"
Size: 4096 Blocks: 8 IO Block: 4096目录创建一个普通的10B大小的文件。系统默认将块设置为4KB。如果有10000个小文件,由于每个块只能存储一个文件,如果文件大小大于块,就会申请更多的块。相反,如果文件大小小于默认块,则仍会占用一个块,因此剩余空间将被浪费。
硬盘block及inode
操作系统对文件数据的存储包括两部分。 一是文件内容;第二个是权限和文件属性。操作系统的文件存储是基于文件系统的。文件系统将文件的实际内容存储在块中,并将权限、属性等信息存储在inode中。在硬盘分区中,还有一个超级区。块(superblock),超级块会记录整个文件系统的整体信息,包括inode和块的总量、使用大小、剩余大小等信息。每个inode和block都有对应的编号,方便Linux系统快速定位并找到文件superblock:记录的文件系统的整体信息,包括inode和block的总数、已用大小、剩余大小以及文件系统的格式和相关信息。 block: 存储文件的内容。如果文件超过了默认的块大小,就会自动占用多个blocksinode:记录文件的属性。权限以及文件数据所在的块号都会被记录。每个inode和block都有编号,每个文件都会占用一个inode,inode中会包含放置文件数据的块编号。如果能找到文件的inode,就可以找到放置在文件中的数据的块号并读取文件内容。当操作系统格式化分区时,操作系统会自动将硬盘分为两个区域。一个是数据区,用于存储文件数据,另一个是inode表区,用于存储inode包含的元信息。 inode 默认为128KB 或256KB。 /boot分区inode默认为128KB,其他分区默认为256KB。 # 查看Linux系统inode方法
dumpe2fs /dev/vda1|grep "索引节点大小"
une2fs -l /dev/vda1|grep "索引节点大小"
stat /boot/|grep "Inode"#格式化磁盘时,可以指定inode块的大小; -b指定默认块,-I指定默认inode值
mkfs.ext4 -b 4096 -I 256 /dev/sdb
硬链接
一般来说,文件名和inode编号是一一对应的。每个inode 号对应一个文件名,但UNIX/Linux 系统中的多个文件名也可以指向同一个inode 号。这意味着您可以使用不同的文件名来访问通用内容。修改文件内容会影响所有文件名。但删除一个文件名不会影响对另一文件名的访问。这种情况称为硬链接(hard link)#创建硬链接
测试1.txt 测试2.txt
# test1.txt是源文件test2.txt是目标文件
[root@lianxi tmp]#ll -i
总计0
67193826-rw-r--r--。 1 root root 0 五月23 2020 music.txt.bak
68075908-rw-r--r--。 2 root root 0 二月8 16:17 test1.txt
68075908-rw-r--r--。 2 root root 0 Feb 8 16:17 test2.txt 实用技巧: 硬链接不能跨分区链接。硬链接只能对文件生效,不能对目录生效,即目录不能创建硬链接。关联。硬链接源文件和目标文件共享一个inode值。从某种意义上来说,它节省了inode空间。无论源文件还是目标文件单独删除,文件内容始终存在。链接文件不占用多余的系统空间。空格
软链接
虽然文件1和文件3的inode不同,但文件3的内容是文件1的路径。当读取文件3时,系统会自动将访问者引导到文件1。无论打开哪个文件,最终读取到的所有文件都是文件1,此时文件3就称为文件1的软链接或者符号链接[root@lianxi tmp]# ln -s test1.txt test3.txt
[root@lianxi tmp]#ll -i
总计0
67193826-rw-r--r--。 1 root root 0 五月23 2020 music.txt.bak
68075908-rw-r--r--。 2 root root 0 二月8 16:17 test1.txt
68075908-rw-r--r--。 2 root root 0 二月8 16:17 test2.txt
67193825 lrwxrwxrwx。 1 root root 9 Feb 8 16:25 test3.txt -test1.txt 实用技巧: 软链接可以跨分区链接。软链接支持目录,也支持文件链接。软链接文件与目标文件inode 不同。从某种意义上来说,会消耗更多的inode空间。无论删除源文件还是重新启动系统,软链接仍然存在,但文件内容会丢失。一旦创建了新的同名源文件,软链接文件就会恢复正常。
Linux下磁盘实战操作
由于磁盘空间不够,需要添加新硬盘,新添加的硬盘需要经过格式化、分区才能被Linux系统所使用。操作流程如下:
1、检测Linux系统识别的硬盘设备。新添加的硬盘将被识别为/dev/sdb。如果有多个硬盘,则会识别为/dev/sdc、/dev/sdd等设备名image.png2。基于新硬盘/dev/sdb设备,创建磁盘分区/dev/sdb1image.png3.fdisk分区命令参数如下,常用参数包括m、n、p、d、wb: edit bsd disklabel(磁盘标签)c: 切换dos兼容标志d:删除分区g: 创建新的空GPT 分区表G: 创建IRIX (SGI) 分区表l: 列出已知分区类型m: 打印帮助菜单n: 添加新分区o: 创建新的空DOS 分区表p: 打印分区表信息q: 退出saving s: 创建一个新的空sun磁盘标签t: 更改分区的系统IDu: 更改显示/输入单元v: 验证分区表w: 将分区表写入磁盘并退出x: 额外功能4. 创建/dev/sdb1 分区方法,执行fdisk /dev/sdb,然后按照屏幕提示一次输入n、p、1,按回车键,再输入+10G,按回车键,输入w,最后执行fdisk -l即可找到该磁盘image.pngimage.png5.mkfs.ext4 /dev/sdb1 格式磁盘分区image.png6./dev/sdb1 分区格式信息,使用mount 命令挂载到/data 目录,命令详细信息为mkdir -p /data: 到创建/data数据目录mount /dev/sdb1 /data: mount/dev/sdb1分区到/data目录下df -h: 查看磁盘分区详细信息echo "mount /dev/sdb1 /data" /etc/rc.local: 添加挂载分区命令为/etc/rc.local boot image.png7。自动挂载的分区除了添加到/etc/rc.local中启动外,还可以添加到/etc/fstab文件中image.pngmount -o rw,remount /
# 表示重新挂载/system并检查/etc/fstab是否正确。
基于GPT格式磁盘分区
MBR分区标准确定MBR仅支持2TB以下的硬盘分区。为了支持大于2TB的硬盘空间的使用,必须使用GPT格式进行分区。要创建大于2TB的分区,需要使用parted工具基于GPT格式对10TB硬盘进行分区。操作如下:parted -s /dev/sdc mklabel gpt: 设置分区类型为gpt格式mkfs.ext3 /dev/sdc: 根据ext3文件系统类型格式化mount /dec/sdc /data: 挂载/dev/sdc设备到/data 假设/dev/sdc是10TB硬盘,使用GPT格式来格式化磁盘image.png 执行命令parted -s /dev/sdc mklabel gptimage.pngimage.png 根据mkfs.ext3 /dev/sdc 格式化磁盘。 parted 命令行也可用于分区。依次输入以下命令:partedselect /dev/sdcmklabel gptmkpart Primary 0 -1printmkfs.ext3 /dev/sdcmount /dev/sdc1 /dataimage.pngimage.pngimage.pngimage.pngimage.png
mount命令
mount命令工具主要用于将设备或分区挂载到Linux系统目录。 Linux系统分区时,根据挂载机制将/dev/sda分区挂载到系统目录下。挂载设备和目录后,Linux系统读取和存储文件的参数选项说明-V 显示挂载工具的版本号-l 显示已加载的文件系统列表-h 显示帮助信息并退出-v 输出详细信息命令执行-n 加载未写入文件/etc/mtab 的文件系统-r 以只读模式加载文件系统-a 加载文件/etc/fstab 中配置的所有文件系统-o 指定挂载扩展参数,常用扩展指令rw、remount、loop、 -o atime 系统在每次读取文档时更新文档时间-o noatime 系统在每次读取文档时不更新文档时间-o defaults 使用预设选项rw、suid、dev、exec、auto、 nouser等-o exec 执行正在运行的可执行文件-o user、-o nouser。用户可以执行挂载/卸载操作-o remount 以其他模式重新挂载已挂载的系统分区-o ro 以只读模式挂载-o rw 读写模式挂载-o Loop 使用循环模式将文件挂载为device 到系统目录-t 指定挂载设备类型。常见的类型有nfs、ntfs-3g、vfat、iso9660等,比如下面的:iso9660光盘或光盘映像m sodsFat16文件系统vfatFat32文件系统ntfsntfs文件系统ntfs-3g识别移动硬盘格式smbfs挂载Windows文件网络共享nfsUNIX /Linux 文件网络共享挂载/dev/sdb1 /data # 挂载将/dev/sdb1 分区复制到/data 目录
mount /dev/cdrom /mnt # 将/dev/cdrom分区挂载到/mnt目录
mount -t ntfs-3g /dev/sdc /data1 # 将/dev/sdc移动硬盘挂载到/data1目录
mount -p remount,rw/# 以读写模式重新挂载/system
mount -t iso9660 -o Loop centos7.iso /mnt # 将Centos7.iso镜像文件挂载到/mnt目录
mount -t fat32 /dev/sdd1 /mnt # 将U盘/dev/sdd1挂载到/mnt目录
mount -t nfs 192.168.1.11:/data /mnt # 将远程192.168.1.11:/data目录挂载到本地mnt目录
Linux硬盘故障修复
。操作系统的分区变成只读文件系统,错误信息为Read-only file system。出现只读文件系统将只能读取而不能写入新文件、新数据等。
造成此问题的原因有:磁盘老旧、长期大量读写、文件系统文件损坏、磁盘文件碎片、异常断电、读写终端等。
修复步骤:
远程备份本地其他重要数据。如果出现只读文件系统,需要先备份其他重要数据。基于rsync|scp远程备份,其中/data为源目录,/data/backup/2020为目标备份目录rsync -av /data root@192.168.1.11:/data/backup/2020 可以重新挂载/system。挂载命令如下。测试文件系统是否可以读写mount -o remount,rw /如果重新挂载/system 无法解决问题,请重新启动CD/DVD 光盘启动进入Linux Rescue 修复模式。光标选择Troubleshooting,回车,然后选择Rescue a CentOS system,回车选择1) "continue"继续操作并进入修复模式,执行chroot /mnt/sysimage,df -h显示原始文件系统chroot/mnt/系统映像
高效磁盘管理指南:优化存储空间与性能的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、高效磁盘管理指南:优化存储空间与性能的信息别忘了在本站进行查找哦。
【高效磁盘管理指南:优化存储空间与性能】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
最近一直在学习磁盘管理,感觉还是蛮重要的!
有8位网友表示赞同!
磁盘空间不够用是什么普遍问题啊?希望有一个好用的磁盘管理工具可以解决这个问题。
有7位网友表示赞同!
我电脑的系统盘有点慢了,想尝试进行分区调整看看效果。
有16位网友表示赞同!
有没有推荐一些磁盘清理软件,方便清理多余文件占用空间。
有6位网友表示赞同!
总是忘记备份数据,万一硬件出问题该怎么办?
有13位网友表示赞同!
磁盘碎片化会影响电脑运行速度吗?感觉自己的电脑有点卡啊。
有20位网友表示赞同!
听说格式化磁盘会彻底删除所有数据,是不是真的啊?
有7位网友表示赞同!
学习编程的时候需要创建虚拟机,对磁盘的划分要求比较严格。
有10位网友表示赞同!
对于大型数据文件,应该如何进行存储管理呢?
有8位网友表示赞同!
移动硬盘可以用来扩展电脑容量吗?好用吗?
有15位网友表示赞同!
不同的操作系统对磁盘的管理方式有哪些区别吗?
有5位网友表示赞同!
我想学习使用命令行工具来进行磁盘管理,有人知道哪些比较常用的命令吗?
有13位网友表示赞同!
有没有什么好用的磁盘监控软件可以实时跟踪我的磁盘使用情况呢?
有11位网友表示赞同!
听说 SSD 比传统的机械硬盘速度更快,是不是真的啊?
有14位网友表示赞同!
磁盘加密技术怎么样?安全性高吗?
有11位网友表示赞同!
如何判断一个磁盘是否坏掉了?有什么方法可以修复损坏的磁盘?
有6位网友表示赞同!
对磁盘的维护有哪些需要注意的地方呢?
有16位网友表示赞同!
想在多台电脑之间共享同一个磁盘,怎么做比较方便?
有8位网友表示赞同!
用USB 固态硬盘装系统好不好?稳定性如何?
有13位网友表示赞同!
对存储云服务有什么了解吗?和本地磁盘相比有什么优缺点?
有18位网友表示赞同!