Linux 磁盘的一生

news2024/9/26 3:29:26

注意:实验环境都是使用VMware模拟

​ 磁盘接口类型这里vm中是SCSI,扩展sata,ide(有时间可以看看或者磁盘的历史)

​ 总结:磁盘从有到无—类似于建房子到可以住

———————————————————————————————————————————

1.第一个历程:添加磁盘(房子框架)(具体几块看自己,可以做Raid博客可以看我的链接)

image-20240319210605609

不重启检测磁盘:

echo “- - -” > /sys/class/scsi_host/host0/scan

echo “- - -” > /sys/class/scsi_host/host1/scan

echo “- - -” > /sys/class/scsi_host/host2/scan

查看是否添加成功:

[root@shell ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0  3.9G  0 part [SWAP]
├─sda3   8:3    0   50G  0 part /
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0 45.1G  0 part /home
sdb      8:16   0    1G  0 disk 
sr0     11:0    1  4.3G  0 rom  /run/media/root/CentOS 7 x86_64

2.第二个历程:分区(区域划分大厅或者是厨房、卧室)

fdisk 【设备名】 例如:fdisk /dev/sdb 扩展分区工具:gdisk parted

fdisk /dev/sdb

[root@shell ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xe348f4b5 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m  #列出菜单

分区选项:

d 删除分区
g 创建一个新的空 GPT 分区表
G 创建一个 IRIX(SGI)分区表
l 列出已知的分区类型
m 打印此菜单
n 添加一个新的分区
p 打印分区表
q 不保存更改退出

n:创建一个新的分区

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)   #主分区
   e   extended									 #逻辑分区
Select (default p):
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151)+100M
分区 1 已设置为 Linux 类型,大小设为 100 MiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (206848-2097151,默认为 206848):
将使用默认值 206848
Last 扇区, +扇区 or +size{K,M,G} (206848-2097151,默认为 2097151)+100M
分区 2 已设置为 Linux 类型,大小设为 100 MiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (411648-2097151,默认为 411648):
将使用默认值 411648
Last 扇区, +扇区 or +size{K,M,G} (411648-2097151,默认为 2097151)+100M   
分区 3 已设置为 Linux 类型,大小设为 100 MiB

命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e     #选择扩展分区
已选择分区 4				  #因为之前分了三个主分区所以这里自动是4编号
起始 扇区 (616448-2097151,默认为 616448):
将使用默认值 616448
Last 扇区, +扇区 or +size{K,M,G} (616448-2097151,默认为 2097151):
将使用默认值 2097151
分区 4 已设置为 Extended 类型,大小设为 723 MiB

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (618496-2097151,默认为 618496):
将使用默认值 618496
Last 扇区, +扇区 or +size{K,M,G} (618496-2097151,默认为 2097151)+200M
分区 5 已设置为 Linux 类型,大小设为 200 MiB

命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

扩展一下:

主分区:

​		1,必须存在

​		2,最多有4个

​		3,一般作为系统盘

​		4,分区编号开始:1开始  例如:/dev/sda1

扩展分区:

​		1,不能单独存在

​		2,需要和逻辑分区一起结合

逻辑分区:

​		1,需要有扩展分区

​		2,分区编号:5开始 例如:/dev/sda5

3.第三个历程:格式化(装修房子)

mkfs [ -V ] [ -t 文件系统类型 ] [ fs-选项 ] 文件系统 [ 块 ]

选项
       -V     输出冗长的帮助信息,其中包括执行的各种系统相关的命令.
              一行命令中出现多个此参数可禁止所有系统相关命令的执行。
              这个做法实际上之是在测试时有用。

       -t 文件系统类型
              指定所要创建的文件系统类型。如没有任何指定,
              则使用缺省的文件系统类型(目前是 ext2)。

       fs-选项
              要传递给实际的文件系统制作工具的文件系统相关的选项。
              虽然我们不能保证,但是绝大部分文件系统制作工具支持下面的选项。

       -c     在创建文件系统之前进行设备坏块检查。

       -l filename
              从指定文件 filename 中读取坏块信息。

       -v     产生冗长输出信息。
ext4:是Linux中最常用的文件系统类型之一,支持大容量的文件和分区,具有较高的性能和稳定性。
ext3:是ext4的前身,也是一种常见的Linux文件系统类型,具有日志功能,但相对于ext4来说性能较低。
ext2:是ext3的前身,是一个简单的Linux文件系统,不具备日志功能,因此更容易遭受数据损坏。
XFS:是一种高性能的日志文件系统,适用于大型文件和高并发访问的场景。
Btrfs:是一个新兴的复制文件系统,具有许多先进的特性,如快照、压缩和校验和。
ReiserFS:是一个早期的日志文件系统,但目前在Linux社区中已经较少使用。
NTFS:是Windows系统中常见的文件系统类型,但在Linux中也有支持,通常用于与Windows系统共享数据。
FAT32 和 exFAT:是用于可移动存储设备的常见文件系统类型,可以在Linux和Windows之间共享数据。
ZFS:是一种先进的文件系统,具有强大的数据完整性和管理功能,但在Linux中需要额外的安装和配置。
[root@shell ~]# mkfs -V -t ext4 /dev/sdb1 
mkfs,来自 util-linux 2.23.2
mkfs.ext4 /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
[root@shell ~]# 

分区完成之后可以使用 partprobe 设备名 来更新内核中中的分区表信息

例子:partprobe /dev/sdb1

4.第四个历程:挂载(装大门)

mount 【设备名】【挂载点】

-t <filesystem>:指定文件系统类型。例如,-t ext4表示要挂载的文件系统是ext4类型。
-o <options>:指定挂载选项。常见的选项包括:
ro:以只读模式挂载文件系统。
rw:以读写模式挂载文件系统。
remount:重新挂载已经挂载的文件系统,可以修改挂载选项。
noexec:禁止在文件系统上执行可执行文件。
nosuid:禁止在文件系统上执行setuid和setgid权限的文件。
nodev:禁止在文件系统上创建设备文件。
uid=<uid>:设置挂载点的所有者用户ID。
gid=<gid>:设置挂载点的所有者组ID。
umask=<mask>:设置文件权限掩码。
defaults:使用默认挂载选项。
-r 或 --read-only:以只读模式挂载文件系统。
-w 或 --read-write:以读写模式挂载文件系统(与 -o rw 等价)。
-o loop:用于挂载一个镜像文件。
-L <label>:根据文件系统标签来挂载。
-U <uuid>:根据UUID(通用唯一标识符)来挂载。
-a:挂载 /etc/fstab 文件中定义的所有文件系统。
[root@shell ~]# mkdir /data
[root@shell ~]# mount /dev/sdb
sdb   sdb1  sdb2  sdb3  sdb4  sdb5  
[root@shell ~]# mount /dev/sdb1 /data
[root@shell ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M  8.0K  378M    1% /run/user/42
tmpfs           378M   36K  378M    1% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1        93M  1.6M   85M    2% /data

取消挂载:

[root@shell ~]# umount /data    #强制取消挂载使用-f umount -f /dev/sdb1或者挂载点
[root@shell ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M  8.0K  378M    1% /run/user/42
tmpfs           378M   36K  378M    1% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
[root@shell ~]# 

永久挂载:
/etc/fstab 用于系统启动时如何挂载文件系统

格式:<file_system> <mount_point>

​ 设备名或者UUID 挂载路径 文件系统类型 读写等参数 是否备份 是否检查

例子:

[root@shell test]# vim /etc/fstab 
[root@shell test]# tail -1 /etc/fstab    #查看最后一行
/dev/sdb1	/test	ext4 defaults	0 0
[root@shell test]# umount /dev/sdb1		 #因为我在这个目录中所以会出现这个条信息
umount: /test:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)
[root@shell test]# cd ..
[root@shell /]# umount /dev/sdb1
[root@shell /]# mount -a 				 #加载/etc/fstab这个文件
[root@shell /]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M     0  378M    0% /run/user/0
tmpfs           378M   12K  378M    1% /run/user/42
/dev/sdb1        93M  1.6M   85M    2% /test
[root@shell /]#

5.测试是否可以放入数据

[root@shell ~]# mount /dev/sdb1 /test
[root@shell ~]# df -lh
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        50G  5.0G   46G   10% /
devtmpfs        1.9G     0  1.9G    0% /dev
tmpfs           1.9G     0  1.9G    0% /dev/shm
tmpfs           1.9G   13M  1.9G    1% /run
tmpfs           1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5        46G   33M   46G    1% /home
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           378M     0  378M    0% /run/user/0
tmpfs           378M  8.0K  378M    1% /run/user/42
/dev/sdb1        93M  1.6M   85M    2% /test
[root@shell ~]# cd /test
[root@shell test]# ls
lost+found
[root@shell test]# cd lost+found/
[root@shell lost+found]# ls
[root@shell lost+found]# cd ..
[root@shell test]# touch yuanshang
[root@shell test]# ls
lost+found  yuanshang
[root@shell test]# rm -rf lost+found/
[root@shell test]# ls
yuanshang
[root@shell test]# 

2
/dev/sdb1 93M 1.6M 85M 2% /test
[root@shell ~]# cd /test
[root@shell test]# ls
lost+found
[root@shell test]# cd lost+found/
[root@shell lost+found]# ls
[root@shell lost+found]# cd …
[root@shell test]# touch yuanshang
[root@shell test]# ls
lost+found yuanshang
[root@shell test]# rm -rf lost+found/
[root@shell test]# ls
yuanshang
[root@shell test]#


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1533631.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MyBatis】in根据查询的顺序返回结果

目标效果&#xff1a;根据in中元素的顺序返回结果 查询id为&#xff08;2&#xff0c;4&#xff0c;1&#xff0c;3&#xff09;的数据&#xff0c;并按此顺序返回 第一次尝试 select id, name from tb_shop where id in (2, 4, 1, 3);期待效果 实际效果 正确的语句 select …

Chrome浏览器扩展插件开发

manifest.json: {"manifest_version": 3,"name": "ChatGPT学习","version": "0.0.1","description": "ChatGPT,GPT-4,Claude3,Midjourney,Stable Diffusion,AI,人工智能,AI","icons": {&quo…

Effect:由渲染本身引起的副作用

React 组件中的两种逻辑类型&#xff1a; 渲染逻辑代码 位于组件的顶层&#xff0c;接收 props 和 state&#xff0c;进行转换&#xff0c;返回屏幕上看到的 JSX&#xff0c;只计算不做其他任何事情&#xff1b;事件处理程序 嵌套在组件内部的函数&#xff0c;由特定的用户操作…

一句命令解决huggingface.co无法下载模型问题

血来潮从github上下载的模型&#xff0c;在运行demo点批发的时候&#xff0c;发现大模型并不能直接从huggingface上直接下载&#xff0c;这是因为众所周知的网络问题。 其实只要一句命令就可以解决这个问题。 export HF_ENDPOINThttps://hf-mirror.com修改HF_ENDPOINT系统变量…

极客早报第3期:罗斯否认插足凯特王妃婚姻;清明放假调休3天;国产伟哥去年销售近13亿

一分钟速览新闻点&#xff01; 每日简报 罗斯否认插足凯特王妃婚姻清明放假调休3天国产伟哥去年销售近13亿男子持台球杆殴打2名女店员被抓今日春分淀粉肠小王子带货日销售额涨超10倍[高中生被打伤下体休学 邯郸通报](https://www.baidu.com/s?wd高中生被打伤下体休学 邯郸通报…

表的约束【mysql数据库】

表中一定要有各种约束&#xff0c;通过约束来保证未来插入表格的数据是符合预期的。约束本质是通过技术手段倒闭程序员插入正确的数据。反过来&#xff0c;站在mysql视角&#xff0c;插入进来的数据&#xff0c;都是符合数据约束的。 约束的最终目标&#xff1a;保证数据的完整…

腾讯云优惠券、代金券、折扣券领取方法及使用教程

腾讯云作为国内领先的云计算服务提供商&#xff0c;一直致力于为广大用户提供高效、稳定、安全的云服务。为了吸引用户上云&#xff0c;腾讯云经常推出各种优惠活动&#xff0c;其中就包括腾讯云优惠券。下面小编将详细介绍腾讯云优惠券的相关信息&#xff0c;包括种类、领取入…

力扣---完全平方数

思路&#xff1a; 还是比较好想的&#xff0c;g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]min(g[i-1],g[i-4],g[i-9],...)1&#xff0c;数组初始化是g[0]0,g[1]1。注意这里要对g[0]初始化&#xff0c;&#xff08;举个例子&#xff09;因为在遍历到g[4]时&…

算法系列--递归

一.如何理解递归 递归对于初学者来说是一个非常抽象的概念,笔者在第一次学习时也是迷迷糊糊的(二叉树遍历),递归的代码看起来非常的简洁,优美,但是如何想出来递归的思路或者为什么能用递归这是初学者很难分析出来的 笔者在学习的过程中通过刷题,也总结出自己的一些经验,总结来…

[数据集][目标检测]高质量铁路轨道缺陷检测数据集VOC+YOLO格式1050张6类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1050 标注数量(xml文件个数)&#xff1a;1050 标注数量(txt文件个数)&#xff1a;1050 标注…

Altair CFD™ 无比宽广的 CFD 仿真解决方案范围

Altair CFD 提供了一套全面的工具来解决流体力学问题。无论您是要对建筑物进行热分析、预测车辆空气动力学、优化齿轮箱加油、降低冷却风扇噪音还是开发创新医疗设备&#xff0c;Altair CFD 都可以提供帮助。 提供多种方法&#xff0c;包括&#xff1a; 用于热和通用应用的通…

公职人员上班时间看股票,该不该上纲上线?

公职人员炒股是一个复杂的问题&#xff0c;需要综合考虑多方面的因素。首先&#xff0c;炒股作为一种个人投资行为&#xff0c;本身并不违法&#xff0c;但在特定情况下&#xff0c;公职人员参与股市投资可能会引发一些问题和争议。 对于公职人员炒股&#xff0c;关键是要确保其…

vue@2.7.16 使用less、less-loader

遇到问题&#xff0c;npm install less-loader7.3.0 --save安装好less-loader后&#xff0c;执行npm run serve 项目运行不起来&#xff0c;排查后发现在安装less-loader后就提示需要安装less&#xff0c;正确的安装应如下&#xff1a; npm install less less-loader7.3.0 --sa…

docker实践教程,mysql中使用自定义目录实现数据挂载(二)

有一些知识点在docker实践教程&#xff0c;nginx中使用数据卷映射修改前端网页&#xff08;一&#xff09;&#xff0c;就不累述了。 下载mysql的镜像 docker pull mysql创建容器 先去Docker Hub看看mysql是怎么使用的 可知&#xff0c;运行命令为&#xff1a;&#xff08;…

vue-admin-template极简的 vue admin 管理后台的动态路由实现方法

项目源码地址&#xff1a;GitHub - PanJiaChen/vue-admin-template: a vue2.0 minimal admin template 注意&#xff1a;项目中的路由均写在 src\router\index.js 中&#xff0c;其中默认包含 constantRoutes 数组&#xff0c;这是固定路由&#xff0c;无论用户是什么角色&…

数据结构从入门到精通——冒泡排序

冒泡排序 前言一、冒泡排序的基本思想二、冒泡排序的特性总结三、冒泡排序的动画演示四、冒泡排序的具体代码test.c 前言 冒泡排序是一种简单的排序算法&#xff0c;通过重复遍历待排序数列&#xff0c;比较相邻元素的大小并交换位置&#xff0c;使得每一轮遍历后最大&#xf…

ubuntu内存不足,用Swap扩展增加虚拟内存

Linux增大Swap分区&#xff0c;可以增加虚拟内存&#xff0c;以解决电脑卡机&#xff0c;内存不足等问题 top可以查看cpu的使用情况 lscpu可以查看本机配置的cpu硬件情况 查看内存使用情况 free -h (下面显示"交换"或者Swap等字样说明系统已经启动了Swap&#xff…

EMC Unity存储系统(包含VNXe)常用检查命令

DELL EMC的Unity存储系统&#xff0c;包括VNXe存储系统的OS已经完全和Clariion 的VNX不同了&#xff0c;近期遇到很多关于EMC unity存储系统故障的一些初步检查需求&#xff0c;下面是一些对于DELL EMC Unity存储系统的最常用的底层检查命令&#xff0c;可以对系统故障有个初步…

深度学习——线性代数相关知识

线性代数基础知识 一、线性代数基础知识1、标量2、向量3、矩阵4、张量5、点积6、向量—矩阵积7、矩阵—矩阵乘法 二、小结 一、线性代数基础知识 本节将介绍简要地回顾一下部分基本线性代数内容&#xff0c;线性代数中的基本数学对象、算术和运算&#xff0c;并用数学符号和相…

Linux编程4.11 网络编程-广播

广播实现一对多的通讯 它通过向广播地址发送数据报文实现的 1、套接字选项 套接字选项用于修饰套接字以及其底层通讯协议的各种行为。函数setsockopt和getsockopt可以查看和设置套接字的各种选项。 #include <sys/types.h> #include <sys/socket.h>int getso…