运维——新加磁盘的实现方法

2024-06-04 13:38

本文主要是介绍运维——新加磁盘的实现方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

生产中硬盘会不断的出现故障此时我们就需要更换新的硬盘,那么拿到一个新的硬盘之后我们该如何
来使用呢?一个新的硬盘首先我们要把旧硬盘上的东西进行备份然后用新的硬盘替代。
新硬盘使用之前我们必须要先对新硬盘进行 分区—>创建文件系统—>挂载—>设置开机自启 这
几个步骤,那么接下来我们一个一个来说明每个步骤的实现过程

分区:

拿到一个新的硬盘第一步肯定是要先将其进行分区,一般来说主要分为主分区、 SWAP分区
扩展分区等

主分区:如果没有额外分boot分区,内核镜像就在这上面;如果分了boot分区,
内核镜像放在boot分区里,但内核还得知道所有路径里的第一个/是相对于哪个分区而言的

swap分区:swap不分也可,但一般要分,现代操作系统普遍使用虚拟内存技术,
当内存空间不够时就把暂时不用的内存数据腾到硬盘的swap分区上
添加硬盘之后我们通过lsblk来查看块设备

确认硬盘存在之后我们就可以开始了,不过第一步还是要为硬盘指定一个类型,主要有
逻辑分区MBR和GPT分区

指定分区类型的工具有两个:fdisk parted
parted是一个即时生效的工具而fdisk是一个非即时生效的

parted 来指定分区类型和分区大小 格式为:

指定分区类型:parted /dev/sd* mklabel gpt|msdos
若想更改分区类型则再执行此命令但之前的数据则全部清空

对硬盘进行分区:parted /dev/sd* mkpart primary 1 100
说明:为硬盘分出一个大小为(100-1)M的分区(默认单位是:M)

若要删除硬盘分区则执行 parted /dev/sd* rm 1 1为分区编号
若要查看分区后的硬盘则执行 parted  ls

fdisk /dev/sd* 然后执行子命令进行操作
p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
u 转换单位
w 保存并退出
q 不保存并退出

硬盘分区后使用fdisk -l 可查看硬盘中的分区信息,但lsblk和其他查看硬盘信息的命令只能
查看内存中的设备信息,此时会出现不同步的现象,也就是说在fdisk中可以显示出以添加的
设备信息,但在lsblk中不能看到,对于这样不同步的现象centos6和centos7的解决方案不同
centos6中
对于添加的分区同步 partx -a /dev/sd*
对于删除的分区同步 kpartx -d /dev/sd*
centos7中 partprobe [/dev/sd*] 若不加设备名称则同步所有,指定设备则只同步指定的

创建文件系统

centos6中常用的文件系统是ext4 centos7中常用的文件系统是xfs
创建之前我们应先查看是否已经有文件系统 blkid /dev/sd*
创建文件系统时会自动分配一个UUID当然可以随机生成 命令是:uudigen

创建文件系统的命令是mkfs
格式为:
(1)mkfs.FS_TYPE /dev/sd*
(2)mkfs -t FS_TPYE /dev/sd*
也可-L‘LABEL’:设定卷标

mkfs.查看系统中所支持的文件类型
如果出现逻辑性错误还可用fsck进行修复

例:mkfs -t ext4 /dev/sd*
mkfs.sfs /dev/sd*

如果设置的是ext系列的文件系统还可以通过下列工具进行管理 修改

mke2fs :ext系列文件系统专用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L ‘LABEL’
-j: 相当于-t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 为数据空间中每多少个字节创建一个inode;此大小
不应该小于block的大小
-N #:指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128—4096
-m #: 默认5%,为管理人员预留空间占 总空间的百分比
-O FEATURE[,…]:启用指定特性
-O ^FEATURE:关闭指定特性

tune2fs:查看ext系列文件系统特性
tune2fs:重新设定ext系列文件系统可调整参数的值
-l:查看指定文件系统超级块信息;super block
-L ‘LABEL’:修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O: 文件系统属性启用或禁用, –O ^has_journal
-o: 调整文件系统的默认挂载选项,–o ^acl
-U UUID: 修改UUID号

挂载
把新的硬盘经过分区和创建文件系统之后接下来就是往里面存储数据了那么如何往里面存储
数据,通过一个例子来说
如果一个硬盘的家目录的文件过多导致硬盘空间即将占满此时我们已经将新硬盘分区并且创
建了文件系统此时就可以把新硬盘挂载到家目录下:
1、将硬盘分区50G
2、设置文件系统
3、建一个临时文件夹存放原来的数据并将硬盘挂载
创建临时文件夹:mkdir /mnt/home 挂载: mount /dev/sdb1 /mnt/home
4、将要转移的文件夹复制到临时文件夹中(复制过程中可能有人在修改目录下的内容)
可先发通知然后 init 1 切换至单用户只有一个人访问
复制:cp -av /home/* /mnt/home/
5、vim /etc/fstab 更改配置文件 查看 blkid /dev/sdb1
6、rm -rf /home/ 删除home下的文件否则不显示还占用空间mount -a 使其生效
7、init 5切换至图形界面
8、umount /mnt/home 取消临时文件夹的挂载并删除 rm -fr /mnt/home

这篇关于运维——新加磁盘的实现方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030238

相关文章

Vue中动态权限到按钮的完整实现方案详解

《Vue中动态权限到按钮的完整实现方案详解》这篇文章主要为大家详细介绍了Vue如何在现有方案的基础上加入对路由的增、删、改、查权限控制,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、数据库设计扩展1.1 修改路由表(routes)1.2 修改角色与路由权限表(role_routes)二、后端接口设计

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

nginx中重定向的实现

《nginx中重定向的实现》本文主要介绍了Nginx中location匹配和rewrite重定向的规则与应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 目录一、location1、 location匹配2、 location匹配的分类2.1 精确匹配2