linux云服务器挂载云硬盘:格式化|挂载|配置/ext3文件系统升级ext4


| | | | |

相关内容


云盘的系统盘和数据盘

暂时只找了阿里云的解释,那就以阿里云为例

云端存储的产品比如云盘一般都是块存储。
块存储是阿里云为云服务器ECS提供的块设备(云盘),高性能、低延时,满足随机读写,可以像使用物理硬盘一样格式化并建立文件系统来使用块存储。

云盘主要解决非结构化数据持久化存储的问题,在云盘中主要分为系统盘和数据盘两种类型

  • 系统盘主要存储操作系统所要运行的文件及日志
  • 数据盘可以存储java/PHP/Python等代码文件,也可以存储一些别的数据

创建和挂载文件系统

创建文件系统:mkfs , 在该磁盘分区上写入一个空文件系统,从根目录开始。
创建了这样的文件系统需要在统一的系统树中进行访问。这个任务是通过mount程序来实现的。
mount的作用很简单:以现有目录作为目标挂载点,本质上是将新的文件系统粘贴到目录树的这个点上。
挂载是用来将一个文件系统并入到另一个文件系统的方法。

假如有一个未挂载的ext3文件系统,存储在设备分区/dev/sda1中,假如希望在挂载点/home上挂载此文件系统,输入以下命令:

 mount -t ext3 /dev/sda1 /home

mount 的美妙之处在于:它将所有文件系统统一到一棵树中,而不是拥有多个独立的文件系统,这让命名统一而且方便。

由上图可以看到文件系统树上有很多不同的文件系统,包括ext3(标准的基于磁盘的文件系统)、proc文件系统(用于访问当前进程的文件系统)、tmpfs(仅用于临时文件的文件系统)、AFS(分布式文件系统)……


文件系统的布局

一个磁盘包括一个个扇面,编号从0开始递增。
第0个扇面在文件系统中具有重要意义,该扇面放的是MBR(主引导记录)。
MBR后面跟着的是磁盘分区表。
磁盘分区表给出的是磁盘的所有分区及其开始终结地址,其中一个分区为主分区,操作系统就装载在这个分区里。主分区里最前面的是引导记录(Boot Record), 这里面的内容是一个小程序,负责找到操作系统映像,并加载到内存。除了主分区后面可能还有分区2、分区3。



\ \ \ |

服务器挂载数据盘具体操作


查看系统中磁盘信息

fdisk是Linux下硬盘的分区工具。
不过fdisk只能划分小于2TB的分区。
fdisk -l 设备名称
不加设备名称,会直接列出系统中所有的磁盘设备以及分区表。
如果不加-l选项,将进行分区操作,Linux系统最多只能创建4个主分区,不过可以选择将第4个作为扩展分区。


看起来应该是只有系统盘有分区,下面的数据盘没有格式化没有分区。
查看空间存储状况,应该是真的没用100G的数据盘。

格式化分区

需要对新加磁盘进行初始化操作。初始化过程相当于磁盘格式化,格式化就是对磁盘或磁盘中的分区进行初始化,分配里面的各种内容,将空间进行划分大概。(磁盘分好区但是也需要给分区进行格式化),这里格式化就是安装文件系统,就是什么文件分配表、目录表等用于文件管理的空间划分……
磁盘在格式化的时候,会预先规定好每一个块的大小,把所有的空间分为一个一个的块。

创建挂载目录 挂载


配置 /etc/fstab 以自动挂载分区
云盘挂载最好放在这个文件里,在磁盘挂载的开机自启动中,需要把默认挂载命令放在/etc/fstab中。
有关fstab文件的知识,可以使用man fstab命令查看。

sync

Linux sync命令用于数据同步,sync命令是在关闭Linux系统时使用的。

Linux 系统中欲写入硬盘的资料有的时候为了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中。

将缓存写入服务器

重启服务器


重新登录,查看,成功!



ext3文件系统升级ext4

上面创建的文件系统是ext3,但是对于Linux内核版本2.6.28之后的系统,开始支持ext4。

步骤

卸载文件系统
在这里插入图片描述
转换,增加ext4特性
ext2\3\4 文件系统可以通过tune2fs命令调优

  • extents:Ext4 引入了现代文件系统中流行的 extents 概念,每个 extent
    为一组连续的数据块

  • uninit_ng:在生成EXT4文件系统中,如果使用了特性uninit_bg,有的块组就不会被初始化,磁盘格式化的速度会加快。

  • dir_index:使用哈希B树以提高大目录的查找速度

    tune2fs -O extents,uninit_bg,dir_index /dev/vdb

检查

修复文件系统,防止不能挂载(mount),,主要是个扫描吧

挂载 df -halT查看,或者df -hT

最后 vi /etc/fstab,把ext3改为ext4


ext3和ext4

ext4是第四代扩展文件系统,是Linux系统下的日志文件系统,是ext3文件系统的后继版本。ext4是由ext3的维护者Theodore Tso领导的开发团队实现的,并引入到Linux2.6.19内核中。2008年12月25日,Linux Kernel2.6.28的正式版本发布。随着这一新内核的发布,ext4文件系统也结束实验期,成为稳定版。

ext4文件系统的特点:

①更大的文件系统和更大的文件。
ext3文件系统最多只能支持32TB的文件系统和2TB的文件,根据使用的具体架构和系统设置,实际容量上限可能比这个数字还要低,即只能容纳2TB的文件系统和16GB的文件。而ext4的文件系统容量达到1EB,而文件容量则达到16TB,这是一个非常大的数字。对一般的台式机和服务器而言,这可能并不重要,但对于大型磁盘阵列的用户而言,就非常重要。

②更多的子目录数量。
ext3目前只支持32000个子目录,而ext4取消了这一限制,理论上支持无限数量的子目录。

③ext4更多的块和i-结点数量。
ext3文件系统使用32位空间记录块数量和i-结点数量,而ext4文件系统将它们扩充到64位。

④ext4多块分配。
当数据写入到ext3文件系统中时,ext3的数据块分配器每次只能分配一个4KB的块,如果写一个100MB的文件就要调用25600次数据块分配器,而ext4的多块分配器Multiblock Allocator(MBAlloc)支持一次调用分配多个数据块。

⑤ext4持久性预分配。
如果一个应用程序需要在实际使用磁盘空间之前对它进行分配,大部分文件系统都是通过向未使用的磁盘空间写入0来实现,如P2P软件。为了保证下载文件有足够的空间存放,通常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。而ext4在文件系统层面实现了持久预分配并提供相应的API,比应用软件实现更有效率。

⑥ext4延迟分配。
ext3的数据块分配策略是尽快分配,而ext4的策略是尽可能地延迟分配,直到文件在缓冲中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,显著提升性能。

⑦ext4盘区结构。
ext3文件系统采用间接映射地址,当操作大文件时,效率极其低下。例如,一个100MB大小的文件,在ext3中要建立25600个数据块(以每个数据块大小为4KB为例)的映射表;而ext4引入了盘区概念,每个盘区为一组连续的数据块,上述文件可以通过盘区的方式表示为“该文件数据保存在接下来的25600个数据块中”,提高了访问效率。

⑧日志校验功能。
日志是文件系统最常用的结构,也很容易损坏,而从损坏的日志中恢复数据会导致更多的数据损坏。ext4给日志数据添加了校验功能,日志校验功能可以很方便地判断日志数据是否损坏。而且,ext4将ext3的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。

⑨ext4支持“无日志”模式。
ext4允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。

⑩ext4默认启用Barrier。
磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写Commit记录。若Commit记录写入在先,而日志有可能损坏,就会影响数据完整性。ext4文件系统默认启用Barrier,只有当Barrier之前的数据全部写入磁盘,才能写Barrier之后的数据。

ext4在线碎片整理。
尽管延迟分配、多块分配和盘区功能可以有效减少文件的碎片,但碎片还是不可避免会产生。ext4支持在线碎片整理,并将提供e4defrag工具进行个别文件或整个文件系统的碎片整理。

ext4支持快速fsck。
以前的文件系统版本执行fsck时很慢,因为它要检查所有的i-结点,而ext4给每个块组的i-结点表中都添加了一份未使用i-结点的列表,所以ext4文件系统做一致性检查时就可以跳过它们而只去检查哪些在使用的i-结点,从而提高了速度。

ext4支持纳秒级时间戳。
ext4之前的扩展文件系统的时间戳都是以秒为单位的,这已经能够应付大多数设置,但随着处理器的速度和集成程度(多核处理器)不断提升,以及Linux开始向其他应用领域发展,它将时间戳的单位提升到纳秒。



参考文献

《Linux从入门到精通》
《软件定义存储》
《计算机基础知识》
《Linux操作系统与服务配置》
《Linux常用命令简明手册》
《Linux系统管理员工具集》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会依次回答你的问题。 1. Linux分区格式化ext3格式化: 首先,我们需要使用fdisk命令来对磁盘进行分区。具体命令如下: ``` sudo fdisk /dev/sda ``` 其中,`/dev/sda`是你要进行分区的磁盘。接下来,按照提示进行分区操作。 然后,我们需要使用mkfs命令将分区格式化ext3格式。具体命令如下: ``` sudo mkfs.ext3 /dev/sda1 ``` 其中,`/dev/sda1`是你要格式化分区。如果你要格式化的是整个磁盘,那么应该是`/dev/sda`。 2. Linux fdisk 分区格式化挂载: 这个问题其实涉及到三个子问题,我会依次回答。 a. fdisk 分区: 我们可以使用fdisk命令对磁盘进行分区。具体命令如下: ``` sudo fdisk /dev/sda ``` 其中,`/dev/sda`是你要进行分区的磁盘。接下来,按照提示进行分区操作。 b. 格式化: 我们可以使用mkfs命令将分区格式化为指定的格式。比如,要将分区格式化ext4格式,具体命令如下: ``` sudo mkfs.ext4 /dev/sda1 ``` 其中,`/dev/sda1`是你要格式化分区。如果你要格式化的是整个磁盘,那么应该是`/dev/sda`。 c. 自动挂载: 我们可以通过编辑`/etc/fstab`文件,来实现在系统启动时自动挂载指定分区。具体操作如下: 1) 找到要挂载分区的UUID,可以使用以下命令查看: ``` sudo blkid ``` 2) 打开`/etc/fstab`文件,添加以下内容: ``` UUID=<分区UUID> <挂载点> <文件系统类型> defaults 0 0 ``` 其中,`<分区UUID>`是你要挂载分区的UUID,`<挂载点>`是你要将分区挂载到的目录,`<文件系统类型>`是分区文件系统类型,比如ext4。 3) 保存文件并退出。 现在,你可以使用以下命令来挂载分区: ``` sudo mount -a ``` 这样,系统就会自动挂载指定分区了。 3. ext3格式化ext4格式化挂载: 这个问题也涉及到三个子问题,我会依次回答。 a. ext3格式化: 要将分区格式化ext3格式,可以使用以下命令: ``` sudo mkfs.ext3 /dev/sda1 ``` 其中,`/dev/sda1`是你要格式化分区。如果你要格式化的是整个磁盘,那么应该是`/dev/sda`。 b. ext4格式化: 要将分区格式化ext4格式,可以使用以下命令: ``` sudo mkfs.ext4 /dev/sda1 ``` 其中,`/dev/sda1`是你要格式化分区。如果你要格式化的是整个磁盘,那么应该是`/dev/sda`。 c. 挂载: 要挂载已经格式化好的分区,可以使用以下命令: ``` sudo mount /dev/sda1 /mnt ``` 其中,`/dev/sda1`是你要挂载分区,`/mnt`是你要将分区挂载到的目录。如果你要挂载的是整个磁盘,那么应该是`/dev/sda`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值