当前位置: 首页 > news >正文

Linux服务器磁盘分区、挂载、卸载及报错处理

整体操作是:先对磁盘进行格式化,格式化后挂载到需要的挂载点,最后添加分区启动表,以便下次系统启动时自动挂载。

一、linux分区

1、Linux来说wulun有几个分区,分给哪一目录使用,他归根结底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

2、Linux采用了一种叫"载入"的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这是要载入的一个分区将使它的存储空间在一个,目录下获得。

分区和文件关系示意图:

硬盘说明:

1、Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘

2、对于IDE硬盘,驱动器标识符为"hdx~",其中"hd"表明分区所在设备的类型,这里是指IDE硬盘了。"x"为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),"~"代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

3、对于SCSI硬盘则标识为"sdx~",SCSI硬盘是用"sd"来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样(x可以为abcd分别对应第1、2、3、4块硬盘)。

二、分区挂载

准备工作:查看当前所有设备挂载情况:

指令:lsblk 或者lsblk -f

这里sda1、2、3分别代表第一块硬盘的第一分区第二分区...

步骤1:新建/安装一块硬盘(虚拟机/云服务)

在虚拟机菜单中,设置增加一块硬盘,完成后重启可以生效识别

安装好后可以通过命令查看到闲置的磁盘:

lsblk命令查看磁盘信息:

其中sdb就是新加的磁盘

或 :fdisk -l 查看磁盘信息

步骤2:虚拟机硬盘分区

不需要分区 可以跳过步骤2-3

分区指令:fdisk /dev/sdb

开始对sdb分区

m 显示命令列表

p 显示磁盘分区同fdisk -l

n 新增分区

d 删除分区

w 写入并退出

说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存退出输入q

[root@kongchao03 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xdf03b737 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):m            
命令操作a   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitiong   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)
命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):
将使用默认值 2097151
分区 1 已设置为 Linux 类型,大小设为 1023 MiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@kongchao03 ~]# 

步骤3:虚拟机硬盘分区格式化

找到未使用的磁盘,对其进行格式化。

操作数据盘符前,请自行确认磁盘是否有使用过,如有重要数据请谨慎操作,以免导致数据丢失,带来不必要的麻烦)。

格式化命令为:

格式化指令:mkfs -t ext4 /dev/sdb1 或 mkfs.ext4 /dev/sdb1

其中ext4是分区类型。

格式化磁盘,格式化之后才会分配UUID。

mkfs -t ext4 /dev/sdb1
lsblk -f

步骤4:磁盘挂载

挂载前,先在服务器上创建一个需要挂载的挂载点。

例:将磁盘挂载到根目录下的newdisk目录下

  • mount挂载

挂载语法:mount 设备名称 挂载目录 (挂载目录是任意的)
[root@kongchao03 ~]# cd /
[root@kongchao03 /]# mkdir newdisk
[root@kongchao03 /]# mount /dev/sdb1 /newdisk
[root@kongchao03 /]# lsblk -f

如果挂载不成功显示的错误提示:/dev/vdb is write-protected, mounting read-only 这个是说明dev/vdb为只读状态,可以先执行第2部操作,先格式化磁盘就可以啦。

步骤5:实现永久挂载(即重启不消失)

修改fstab,使得系统启动时自动挂载磁盘,通过修改 /etc/fstab实现自动挂载。

添加完成后执行mount -a或reboot即可生效

[root@kongchao03 /]# vim /etc/fstab 
[root@kongchao03 /]# mount -a

步骤6:查看磁盘分配结果

  • df -h查询磁盘使用情况

[root@kongchao03 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda2        17G  5.8G   11G   37% /
devtmpfs        978M     0  978M    0% /dev
tmpfs           993M     0  993M    0% /dev/shm
tmpfs           993M  9.0M  984M    1% /run
tmpfs           993M     0  993M    0% /sys/fs/cgroup
/dev/sdb1       991M  2.6M  922M    1% /newdisk
/dev/sda1       991M  128M  797M   14% /boot
tmpfs           199M   20K  199M    1% /run/user/0
/dev/sr0        730M  730M     0  100% /run/media/root/20210907_143734
[root@kongchao03 ~]# 
  • du -h查询指定目录磁盘占用情况

指令: du [参数] /目录(查询指定目录的磁盘占用情况,默认为当前目录)

参数选项:

-s 指定目录占用大小汇总

-h 带计量单位

-a 含文件

--max-depth=1 子目录的深度

-c 列出明细的同时,增加汇总值

参数可以联合使用

示例:查询/opt目录的磁盘占用情况,深度为1

[root@kongchao03 /]# cd /opt
[root@kongchao03 opt]# ls
rh
[root@kongchao03 opt]# du -h --max-depth=1 /opt
4.0K/opt/rh
8.0K/opt
[root@kongchao03 opt]# 

参数联合起来使用:

[r...]# du -hac --max-depth=1 /opt
4.0K	/opt/rh
8.0K	/opt
8.0K	总用量

步骤7(可忽略):输入:sync 将缓存写入服务器;

步骤8(可忽略):执行 init -6 重启服务器,后再查看挂载情况;

重启服务器后,输入命令: df -lh 查看该磁盘是否正常挂载。或者使用 lsblk

步骤9:取消挂载

  • umount取消挂载

语法:

umount 挂载点 或 umount 设备名
 umount /dev/sdb1lsblk -f
用命令行挂载(mount /dev...),重启后会失效,即重启后挂载点消失

三、异常处理:

1、umount卸载挂载出现"target is busy"报错解决办法

我们在挂载数据硬盘的过程中应该会有看到有原本已经挂载的目录需要先卸载。这里一般用到 umount 命令卸载。但是这里会有时候出现"target is busy"报错的问题,这个问题根本问题在于当前要卸载的目录还有软件在运行。

我们要解决的办法就是停止当前运行的软件。这里有几个解决办法,我们可以参考。

1、通过lsof命令处理

老蒋一般会通过lsof命令检查当前是否有运行的软件绑定在对应的目录。

lsof /www/

比如我这里检查www目录是否有软件在运行,如果有的话,我们可以对应PID先停止或者提前停止对应的软件,比如php、mysql等。

只有lsof检测到没有软件运行,那我们去umount卸载就没有问题报错。

2、使用fuser命令处理

在使用 fuser命令之前需要安装组件支持。

yum install psmisc -y

然后一样需要类似lsof一样查看是否有在运行的进程。

fuser -mv /www/

如果有的话,然后针对进程去停止。

fuser -kv /www/

一个命令删除全部进程。

这样,我们通过2个办法检测和删除占用进程后,再卸载和挂载。

2、umount卸载光盘提示 umount: /mnt: target is busy. 怎么办?

一、红色下划线:df -h 查看设备信息。/dev/sr0 是光盘,/mnt是挂载点的路径。

黄色下划线:umount /mnt 卸载的时候出现 umount: /mnt: target is busy. 提示设备忙。磁盘正在使用,无法直接卸载。需要将当前使用数据盘的进程杀掉,才能卸载。

二、安装 psmisc 工具

Psmisc 软件包包含三个帮助管理/proc目录的程序。

fuser 显示使用指定文件或者文件系统的进程的PID。

killall 杀死某个名字的进程,它向运行指定命令的所有进程发出信号。

pstree 树型显示当前运行的进程。

可以通过 rpm -qa psmisc 查看有没有安装,如果有系统会反馈安装程序的信息。

如果没有安装 psmisc 系统没有反馈。

那么,就需要安装 psmisc命令: yum -y install psmisc 或 apt -y install psmisc 。

等待安装完成,安装完成后系统会反馈 psmisc 已经安装完毕。并且 通过 rpm -qa psmisc 可以查看到 psmisc 程序的信息。

三、红色划线:fuser -mv /mnt/ 查看 /mnt/ 的进程状态。可以看到 PID 1340 进程正在运行。

黄色下划线:fuser -kv /mnt/ 杀掉访问文件的进程。

蓝色下划线:再用 fuser -mv /mnt/ 查看 /mnt/ 。PID 1340 进程已经被杀掉。

-m:指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。所有访问这个文件或者文件系统的进程都会被列出来。

-v:详细模式。进程以 ps 的方式显示,包含PID,USER,COMMAND,如果是内核访问的 PID 为 kernel。

-k:指定 PID,就杀掉指定PID的进程。如果没有指定 PID 就会发送SIGKILL信号,杀掉所有进程。

四、此时用 umount /mnt。已经可以卸载了,df -h 查看设备状态 /mnt 也已经成功卸载。

相关文章:

Linux服务器磁盘分区、挂载、卸载及报错处理

整体操作是:先对磁盘进行格式化,格式化后挂载到需要的挂载点,最后添加分区启动表,以便下次系统启动时自动挂载。一、linux分区1、Linux来说wulun有几个分区,分给哪一目录使用,他归根结底只有一个根目录&…...

JavaScript基础语法入门

一. JS简介 JavaScript , 简称JS, JS最初只是为了进行前端页面开发, 但随这后来JS越来越火之后, JS就被赋予了更多的功能, 可以用来开发桌面程序, 手机App, 服务器端的程序等… JS是一种动态类型, 弱类型的脚本语言, 通过解释器运行, 主要在客户端和浏览器上运行, 比如Chrome…...

Linux基础命令-ln创建链接文件

文章目录 ln 命令介绍 命令格式 基本参数 参考实例 1) 创建文件的硬链接 2)创建文件的软链接 3)创建链接文件时,相同目标文件创建备份文件 命令总结 ln 命令介绍 先看下帮助文档中的含义 NAME ln - make links …...

Day21【元宇宙的实践构想07】—— 元宇宙与人工智能

💃🏼 本人简介:男 👶🏼 年龄:18 🤞 作者:那就叫我亮亮叭 📕 专栏:元宇宙 0.0 写在前面 “元宇宙”在2021年成为时髦的概念。元宇宙到底是什么?元宇…...

MySQL的InnoDB 三种行锁,SQL 语句加了哪些锁?

InnoDB 三种行锁: Record Lock(记录锁):锁住某一行记录 Gap Lock(间隙锁):锁住一段左开右开的区间 Next-key Lock(临键锁):锁住一段左开右闭的区间 哪些语句…...

Java培训:深入解读函数式接口

函数式编程是一种编程规范或一种编程思想,简单可以理解问将运算或实现过程看做是函数的计算。 Java8为了实现函数式编程,提出了3个重要的概念:Lambda表达式、方法引用、函数式接口。现在很多公司都在使用lambda表达式进行代码编写&#xff0c…...

scratch潜水 电子学会图形化编程scratch等级考试一级真题和答案解析2022年12月

目录 scratch潜水 一、题目要求 1、准备工作 2、功能实现 二、案例分析...

DNS服务器部署的详细操作(图文版)

DNS服务器的部署 打开虚拟机后查看已经开放的端口,可以看到没有TCP53、UDP53,说明DNS服务端口没有打开 打开我的电脑—双击CD驱动器— 选择安装可选的Windows组件 选择网络服务—域名系统(DNS)— 点击下一步后会弹出如下弹…...

Compose – List / Detail: Basics实现

Compose – List / Detail: Basics实现 在androidx中有SlidingPanelLayout可以实现折叠屏的列表详情功能,但在Compose 中还没有官方的实现,那么下面我们用Compose做一些实现。 List / Detail 我们追求的基本行为是当 UI 具有项列表时。当用户点击列表…...

【Java】TCP网络编程(字节/符流)

文章目录概念TCP网络编程ServerSocketsocket使用区别和原理演示概念 TCP(传输控制协议)是一种面向连接的协议,用于在计算机网络中可靠地传输数据。TCP是Internet协议族中的一个核心协议,它在传输层提供可靠、有序、基于流的传输服…...

Linux之init.d、rc.d文件夹说明

备注:Ubuntu没有rc.d文件夹,原因看问题四 Linux的几个重要文件 rc.d,init.d文件夹的说明 今天在研究mysql的安装的时候,最后一步要创建一个软连接,使得mysql服务可以自启动,代码如下: ln -s…...

数据结构与算法(六):图结构

图是一种比线性表和树更复杂的数据结构,在图中,结点之间的关系是任意的,任意两个数据元素之间都可能相关。图是一种多对多的数据结构。 一、基本概念 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成&#x…...

Kubernetes07:Service

Kubernetes07:Service 1、service存在的意义 因为Pod的IP是不断变化的,所以需要注册service防止pod失联 1)为了防止Pod失联(服务发现) 2、定义一组Pod访问策略(负载均衡) 2、Pod和Service的关系-------通…...

Qt音视频开发18-不同视频打开无缝切换

一、前言 在轮询视频的时候,通常都是需要将之前的视频全部关闭,然后打开下一组视频,在这个切换的过程中,如果是按照常规的做法,比如先关闭再打开新的视频,肯定会出现空白黑屏之类的过度空白区间&#xff0…...

智能驾驶词典 --- 自动驾驶芯片梳理

0 前言 与智能驾驶相关的芯片主要分为自动驾驶芯片(边缘端)和智能座舱芯片两大类,另外衍生的相关芯片种类还有计算集群芯片(云端), 1 自动驾驶芯片梳理 目前业内具有代表性的智驾芯片产品梳理如下。 1…...

在NVIDIA NX 配置OpenCV多版本冲突和解决的总结

Nvidia Jetson NX 环境 直接刷JetPack5.1的镜像,会得到如下环境 Ubuntu20.04cuda11.4TensorRT8.4cudnn8.4opencv4.5.4 而且这些源一般是从nv-xxxx等源下载的,打开软件Software&Update可以更该是否从这些源安装deb包。同时意味着,我们…...

记录pytorch安装 windows10 64位--(可选)安装paddleseg

安装完paddlepaddle之后,就可以安装paddleseg了。一、安装Git可以参考这个网址:https://blog.csdn.net/u010348546/article/details/124280236windows下安装git和gitbash安装教程二、安装paddleseghttps://github.com/PaddlePaddle/PaddleSeg记得翻墙啊这…...

UWB到底是什么技术?

什么是空间感知能力 所谓的空间感知能力,就是感知方位的能力。更直接一点,就是定位能力。说白了,利用UWB技术,手机和智能设备可以更精准地实现室内定位,不仅可以感知自己的位置,还可以感知周边其它手机或设…...

NCRE计算机等级考试Python真题(八)

第八套试题1、数据库设计中反映用户对数据要求的模式是___________。A.概念模式B.内模式C.设计模式D.外模式正确答案: D2、一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是___________。A.多…...

STM32之中断和事件

中断和事件什么是中断当CPU正在执行程序时,由于发生了某种事件,要求CPU暂时中断当前的程序执行,转而去处理这个随机事件,处理完以后,再回到原来被中断的地方,继续原来的程序执行,这样的过程称为…...

MySQL索引类型(type)分析

type索引类型 system > const > eq_ref > ref > range > index > all 优化级别从左往右递减,没有索引的⼀般为’all’。推荐优化目标:至少要达到 range 级别, 要求是 ref 级别, 如果可以是 const 最好&#xff…...

Linux | 2. 用户管理

如有错误,恳请指出。 1. 设置文件权限 权限设置如下: root表示文件所有者,stud1表示文件所属组。其他用户无法访问。更改指令是chown。 更改目录文件所属组:chown .lab lossfound/更改目录文件所有者:chown lab loss…...

【MySQL之SQL语法篇】系统学习MySQL,从应用SQL语法到底层知识讲解,这将是你见过最完成的知识体系

文章目录一、数据管理技术的三个阶段二、SQL语句学习1. DCL数据控制语言1.1 创建用户1.2 修改用户名1.3 修改密码1.4 删除用户1.5 授权1.6 查看权限1.7 回收权限2. DDL数据定义语言2.1 操作数据库2.2 操作数据表2.3 操作数据3. DQL数据查询语言基本语法3.1 单表查询3.1.1选择表…...

CentOS8基础篇7:Linux系统启动配置

一、Linux系统的启动过程 Linux的启动过程大体分为五个阶段: 1.计算机主机加电后,CPU初始化自身,接着在硬件固定位置执行一条指令。这条指令跳转到BIOS,BIOS找到启动设备并获取MBR,该MBR指向LILO或GRUB。 …...

vue中的$forceUpdate()、$set()

$forceUpdate() 迫使vue实例重新(rander)渲染虚拟dom,注意并不是重新加载组件。 结合vue的生命周期,调用 $forceupdate 后只会触发beforeupdate和updated这两个钩子函数,不会触发其他的钩子函数。它仅仅影响实例本身和…...

记住这3点,有效提高江苏专转本上岸率

记住这3点,有效提高上岸率 我们都知道,在江苏统招专转本考试中想岸并不是一件容易的事情。考生能否顺利上岸,往往受多方面因素影响,这其中包括:个人基础、学习方式、信息搜索能力。 如何提高自己的专转本上岸几率&…...

【经验总结】10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的?(文末赠书5本)

【经验总结】一位近10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的? RT-Thread绝对可以称得上国内优秀且排名靠前的操作系统,在嵌入式IoT领域一直享有盛名。近些年,物联网产业的大热,更是直接将RT-Thread这…...

人大金仓和达梦的空间数据能力对比

一、总得来说: 人大金仓底层更解决于pg数据库, 人大金仓的空间能力基于postgis能力来实现,能力挺强大的. 细节上人大金仓的架构上也对空间的支持框架做的比达梦更加完善。例如数据库的集群能力,并行计算能力,空间数据…...

探析集团企业 1+N 模式,重新定义集团型CRM

目录 一、客户经营、运营监控 二、流程驱动、业务成长 三、规则规范 业务治理 什么是集团型CRM【1N】?本文中我们可以把集团看作为“1”,其他分公司或组织看作为“N”。本篇我们主要分析集团CRM业务定位。 我们从企业集团总部的职能定位确定集团CRM…...

卡特兰数

文章目录1、简介1.1 何为卡特兰数1.2 卡特兰数的通项公式2、应用2.1 题目1:括号合法题目描述思路分析2.2 题目2:进出栈的方式2.2.1 题目描述2.2.2 思路分析2.3 题目3:合法的序列2.3.1 题目描述2.3.2 思路分析2.3.3 代码实现2.4 题目4&#xf…...

网络营销编辑干什么的/九幺seo优化神器

CommonsChunk 插件的作用就是提取代码中的公共代码,然后将公共模块打包到一个独立的文件中,以便在其它的入口和模块中使用,原理就是把多个入口共同的依赖都给定义成一个新入口 多种打包情况: 单一入口,模块单一引用 va…...

宿迁网站建设/百度客服在哪里找

Description 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 Input 第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写字母组成&#x…...

微商城手机网站设计/网站建设网络公司

熟悉爬虫的基本概念之后,我们可以直接开始爬虫实战的学习,先从Python的requests库即re库入手,可以迅速“get”到python爬虫的思想以及流程,并且通过这两个库就可以建立一个完整的爬虫系统。一、requests库1.简介Requests是用Pytho…...

怎么做农产品垂直网站/企业推广方式

一、Java 虚拟机架构 (JVM Architecture) 在我看来,不管学习什么样的知识或技术,首先要做的就是从全局上去认识它,这样才能避免盲人摸象,事倍功半的情况发生。既然要学习 JVM,就要先了解它的整体架构,于是…...

网站验收流程/百度百科合作模式

2019独角兽企业重金招聘Python工程师标准>>> 个人主页: 记录自己的发展历程,包括自己的学习、工作、生活,希望自己努力奋进,不要荒废时光。 欢迎大家访问:http://www.xujiangfei.com 转载于:https://my.osc…...

电商是什么?一般是干嘛的/南宁seo渠道哪家好

Python是著名胶水语言,Python的库很多都是c语言写的,比如极其著名的numpy,效率根本不是问题。用Python第三方库,可以兼顾运行效率和开发效率,是非常好的选择。再说现在最热门的深度学习和人工智能,基本都是…...