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

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

相关文章

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

PyQt6/PySide6中QTableView类的实现

《PyQt6/PySide6中QTableView类的实现》本文主要介绍了PyQt6/PySide6中QTableView类的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录1. 基本概念2. 创建 QTableView 实例3. QTableView 的常用属性和方法

PyQt6/PySide6中QTreeView类的实现

《PyQt6/PySide6中QTreeView类的实现》QTreeView是PyQt6或PySide6库中用于显示分层数据的控件,本文主要介绍了PyQt6/PySide6中QTreeView类的实现... 目录1. 基本概念2. 创建 QTreeView 实例3. QTreeView 的常用属性和方法属性

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE