存储管理呀
世界太吵,别听,别看,别管,别怕,向前走
一. 存储管理
初识硬盘
机械 HDD
固态 SSD
SSD的优势
SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来新星。
内存直接当成硬盘使用
与传统硬盘相比,SSD固态电子盘具有以下优点:
第一,SSD完全的半导体化,不存在数据查找时间、延迟时间,数据存取速度快。
第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。
第三,得益于无机械部件及闪存芯片,SSD没有任何噪音,功耗低。
第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。
从插拔方式
热插拔
手机卡
非热插拔
从硬盘接口
IDE(已经淘汰—也叫ATA)
SATA (Serial ATA),是当前主流的一种硬盘接口
SCSI(小型计算机的接口–很少了)
SAS代替了scsi (Serial Attached SCSI),当前SAS接口居多
IDE和SATA的区别:
1、接口不同,传输的速率不同。IDE根据规范,最高到133MB/s, 而SATA3.0,可达6Gb/S,速度差距巨大。
2、SATA支持热插拔。
SAS与SCSI的区别
1、接口不同;
2、SAS兼容SATA,SCSI不兼容SATA;
当然上面的都不重要
从磁盘分区方式区分
分区的目的:
文件分类。将一块硬盘分成几个小块。用来根据使用存放不同的文件
一块硬盘最多可以分多少个分区 65535
MBR格式
分区命令:fdisk
一共可以分14个分区(4个主分区,扩展分区,逻辑分区) 例如: 3主 + 1扩展(n逻辑)
MBR 小于2TB的硬盘。
一块硬盘最多分4个主分区。
一块硬盘可以直接划分4个主分区,也可以划分3个主分区和一个扩展分区,扩展分区下面可以划分多个逻辑分区
GPT格式
分区命令:gdisk(parted---rhel6)
一共可以分128个主分区
GPT大于小于2TB都可以。最大可以多大,超过目前硬件可以支撑的硬盘大小
#注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!因为转换格式要格式化硬盘
二.基本分区
- 首先需要先给关机状态虚拟机添加磁盘
- 查看磁盘设备。当硬盘已经被添加,但是还没有格式化没有挂载的时候,使用lsblk查看硬盘信息
lsblk
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p3 259:3 0 28.4G 0 part
│ ├─cl_fedora-swap 253:1 0 2.1G 0 lvm [SWAP]
│ └─cl_fedora-root 253:0 0 26.3G 0 lvm /
├─nvme0n1p1 259:1 0 600M 0 part /boot/efi
└─nvme0n1p2 259:2 0 1G 0 part /boot
sr0 11:0 1 1024M 0 rom
sda 8:0 0 10G 0 disk
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 1G 0 part /up
└─sda1 8:1 0 2G 0 part /top
NAME: 设备的名称
MAJ:MIN 主设备号:次设备号
RM 设备是否可移动。0表示不可移动设备,1表示可移动设备。
RO 设备是否为只读。0表示可读写设备,1表示只读设备。
TYPE TYPE:设备的类型。常见的类型包括disk(硬盘)、part(分区)、rom(只读存储设备)等。
- 使用 fdisk 进行磁盘分区,也可以使用 gdisk 进行分区
fdik
# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):m
命令操作a toggle a bootable flag b edit bsd disklabelc toggle the dos compatibility flagd delete a partition 删除一个分区 g create a new empty GPT partition table 创建一个GPT类型的分区G create an IRIX (SGI) partition tablel list known partition typesm print this menu 打印菜单n add a new partition 添加一个新的分区o create a new empty DOS partition tablep print the partition table 打印所有分区信息q quit without saving changes 退出不保存s 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 exit 退出并保存x extra functionality (experts only)# 其他的并不是很清楚# 剩下的根据提示进程分区,这里的话,应该简单的很 # 我想一下 第一个应该是选 p # 第二个第三个都选默认# 第四个你看你需要多个 比如我需要 5G大小 则输出 +5G# 最后就是 w 保存退出
- 创建好分区之后,可以用 lsblk 可以查看到最新添加的分区
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 30G 0 disk
├─nvme0n1p3 259:3 0 28.4G 0 part
│ ├─cl_fedora-swap 253:1 0 2.1G 0 lvm [SWAP]
│ └─cl_fedora-root 253:0 0 26.3G 0 lvm /
├─nvme0n1p1 259:1 0 600M 0 part /boot/efi
└─nvme0n1p2 259:2 0 1G 0 part /boot
sr0 11:0 1 1024M 0 rom
sda 8:0 0 10G 0 disk
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 1G 0 part /up
|—sda3 8:3 0 1G 0
└─sda1 8:1 0 2G 0 part /top
- 格式化分区
mkfs
mkfs # 双击tap键进行支持的格式
# mkfs.ext4 /dev/sdb1 #格式化成ext4格式的文件系统
# mkfs.xfs /dev/sdc2 #格式化成xfs格式的文件系统
- 进行挂载
mount 进行挂载
mount /dev/sda5 /after # 将 sda5分区挂载到after文件下
mount -a # 自动挂载
上面虽说挂载好了,但是重新启动的话,将会失去挂载,可在fstab文件中添加配置实现开机自动挂载
- fstab开机自动挂载
/etc/fstab文件实现开机的时候自动挂载
[root@qfedu.com ~]# blkid /dev/sdb1 #查看uuid和文件系统类型
/dev/sdb1: UUID="d1916638-bd0a-4474-8051-f788116a3a92" TYPE="ext4"
[root@qfedu.com ~]# vim /etc/fstab
/dev/mapper/cl_fedora-root / xfs defaults 0 0
UUID=983841e5-d160-4bb7-9764-2d609759b9e8 /boot xfs defaults 0 0
UUID=2C37-8D68 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/cl_fedora-swap none swap defaults 0 0
/dev/sda1 /top xfs defaults 0 0
参数解释:
第1列:挂载设备
(1)/dev/sda5
(2)UUID=设备的uuid rhel6/7的默认写法 同一台机器内唯一的一个设备标识
第2列:挂载点
第3列:文件系统类型
第4列:文件系统属性
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查
也可以使用uuid进行挂载
获取分区的的uuid
blkid /dev/sda5
/dev/sda5: UUID="8443647a-7951-4451-a0a5-3d974b30032b" TYPE="xfs"
uuidgen
uuidgen # 可以获取一个此服务器唯一的id
partprobe /dev/sdb
partprobe /dev/sdb #更新磁盘分区表,手动让内核更新分区表。不需要重启
gdisk的用法与fdisk的用法差不多一样,区别在于gdisk中无扩展分区的说法
GPT 有128个主分区
磁盘格式转换
转格式的时候保证此分区,没有被系统占用。
[root@qfedu.com ~]# parted -s /dev/sdc mklabel gpt #将/dev/sdc(MBR格式)转换成(GPT格式)
[root@qfedu.com ~]# parted -s /dev/sdc mklabel msdos #将/dev/sda(GPT格式)转换成(MBR格式)
查看磁盘挂载与磁盘使用空间
[root@qfedu.com ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1.2G 16G 7% /
devtmpfs devtmpfs 982M 0 982M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 8.7M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 125M 890M 13% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 ext4 283M 2.1M 262M 1% /mnt/disk1
/dev/sdc2 xfs 197M 11M 187M 6% /mnt/disks
参数解释:
-T 打印文件系统类型
-h 人性化显示,磁盘空间大小
取消挂载 umount
[root@qfedu.com ~]# umount /top
[root@qfedu.com ~]# umount -l /top #强行卸载,即使目录有资源被进程占用,也可以卸载如果发生错误
umount: /top:目标忙。(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)
等等执行下面的指令获取当前执行的进程号,
fuser /top
/top: 1804c
使用 kill -9 强制杀死进程
kill -9 1804
最后执行取消挂载
umount /top
/etc/rc.d/rc.local开机自动挂载
这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可
[root@qfedu.com ~]# vim /etc/rc.d/rc.local #将挂载命令直接写到文件中
date >> /tmp/host_start.txt
mount /dev/sdb1 /mnt/disk1/
mount /dev/sdc1 /mnt/disk2/
[root@qfedu.com ~]# chmod +x /etc/rc.d/rc.local #添加执行权限
[root@qfedu.com ~]# reboot
相关文章:
存储管理呀
世界太吵,别听,别看,别管,别怕,向前走 一. 存储管理 初识硬盘 机械 HDD 固态 SSDSSD的优势 SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来…...
学习 BeautifulSoup 库从入门到精通
可以按照以下步骤进行: 1. 安装 BeautifulSoup: 首先,确保你已经安装了 Python。然后可以使用 pip 命令来安装 BeautifulSoup 库。在命令行中输入以下命令: pip install beautifulsoup42. 导入 BeautifulSoup: 在 …...
JavaScript基础知识总结
目录 一、js代码位置 二、变量与数据类型 1、声明变量 2、基本类型(7种基本类型) 1、undefined和null 2、String ⭐ 模板字符串(Template strings) 3、number和bigint ⭐ 4、boolean ⭐ 5、symbol 3、对象类型 1、Fun…...
技术面试与HR面:两者之间的关联与区别
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
【Redis】为什么要学 Redis
文章目录 前言一、Redis 为什么快二、Redis 的特性2.1 将数据储存到内存中2.2 可编程性2.3 可扩展性2.4 持久性2.5 支持集群2.6 高可用性 三、Redis 的应用场景四、不能使用 Redis 的场景 前言 关于为什么要学 Redis 这个问题,一个字就可以回答,那就是&…...
动静态库生成使用
🔥🔥 欢迎来到小林的博客!! 🛰️博客主页:✈️林 子 🛰️博客专栏:✈️ Linux 🛰️社区 :✈️ 进步学堂 🛰…...
LLVM编译安装
LLVM编译安装 #全量下载 git clone https://github.com/llvm/llvm-project.git #只下载最新commit版本 git clone --depth 1 https://github.com/llvm/llvm-project.git#配置 #!/bin/bash set -ex cmake -S llvm -B build -DCMAKE_INSTALL_PREFIX/data0/huozai/software/insta…...
表的内连接和外连接
表的连接是SQL中的一种操作,用于将两个或多个表中的数据按照某个条件进行关联。 内连接 使用内连接将两个表(Table1 和 Table2)进行连接: select * from Table1 inner join Table2 on Table1.id Table2.id;举例: -- 用普通的写法 select…...
三、C#—变量,表达式,运算符(3)
🌻🌻 目录 一、变量1.1 变量1.2 使用变量的步骤1.3 变量的声明1.4 变量的命名规则1.5 变量的初始化1.6 变量初始化的三种方法1.7 变量的作用域1.8 变量使用实例1.9 变量常见错误 二、C#数据类型2.1 数据类型2.2 值类型2.2.1 值类型直接存储值2.2.2 简单类…...
纷享销客受邀出席CDIE2023数字化创新博览会 助力大中型企业增长
2023年,穿越周期,用数字化的力量重塑企业经营与增长的逻辑,再次成为企业数字化技术应用思考的主旋律,以数字经济为主线,数字技术融入产业发展与企业增长为依据,推动中国企业数字化升级。 9月5日,…...
linux下qt交叉编译 tslib 库
在 Linux 下进行 Qt 的交叉编译,并包含 tslib 库,可以按照以下步骤进行操作:1. 准备交叉编译工具链:首先,你需要准备适用于目标平台的交叉编译工具链。这个工具链包括交叉编译器、 2. 链接器和其他相关的工具ÿ…...
2.13 PE结构:实现PE代码段加密
代码加密功能的实现原理,首先通过创建一个新的.hack区段,并对该区段进行初始化,接着我们向此区段内写入一段具有动态解密功能的ShellCode汇编指令集,并将程序入口地址修正为ShellCode地址位置处,当解密功能被运行后则可…...
Rust更换Cargo国内源,镜像了寂寞
换皮不换身 换了国内源,构建时该卡还会卡。因为它所谓的换源,只是更换crates.io“索引”的源,而不是package“内容”的源。换了国内源后,在国内编译时访问 crates.io-index 自然会快很多,可是crates.io-index里面的信…...
【网络安全带你练爬虫-100练】第23练:文件内容的删除+写入
目录 0x00 前言: 0x02 解决: 0x00 前言: 本篇博文可能会有一点点的超级呆 0x02 解决: 你是不是也会想: 使用pyrhon将指定文件夹位置里面的1.txt中数据全部删除以后---->然后再将参数req_text的值写入到1.txt …...
ESP32蓝牙实例-BLE服务器与客户端通信
BLE服务器与客户端通信 文章目录 BLE服务器与客户端通信1、软件准备2、硬件准备3、代码实现3.1 BLE服务器实现3.2 Android手机测试BLE服务器3.3 ESP32 BLE客户端在本文中,我们将介绍如何使用低功耗蓝牙在两个 ESP32 开发板之间执行 BLE 服务器客户端通信。 换句话说,将介绍如…...
第11章_瑞萨MCU零基础入门系列教程之SysTick
本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…...
【面试题精讲】如何使用Stream的聚合功能
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 求和(Sum): List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5);int sum n…...
Linux 中的 chmod 命令及示例
在 Unix 操作系统中,chmod命令用于更改文件的访问模式。该名称是change mode的缩写。其中规定每个文件和目录都有一组权限来控制权限,例如谁可以读取、写入或执行该文件。其中权限分为三类:同时读、写和执行,用“r”、“w”和“x”表示。这些字母组合在一起形成一组用户的特…...
sannaing i14 pro max使用体验
体验了一把山寨机,不明真相的人会以为这是三星的英文标志,又是pro又是max的,价格600,进系统去看了配置,cpu写的是snapdragon 888,运存12g,内存500g。下了个安兔兔也是被忽悠了,它也以…...
Shazam音乐检索算法原理及实现
算法基本流程如下: 1. 采集音乐库 2. 音乐指纹采集 3. 采用局部最大值作为特征点 4. 将临近的特征点进行组合形成特征点对 5. 对每个特征点对进行hash编码 编码过程:将f1和f2进行10bit量化,其余bit用来存储时间偏移合集形成32bit的hash码 …...
DSP处理器选型与性能优化实战指南
1. DSP处理器选型的技术挑战与核心考量在实时信号处理系统的开发过程中,处理器选型往往决定着项目的成败。我曾参与过多个从消费级音频设备到工业级通信基站的DSP系统设计,深刻体会到选型失误可能导致的项目延期、成本超支甚至产品失败。现代DSP处理器架…...
Swoole多租户LLM会话管理全解析,深度解读连接复用率提升3.8倍与内存泄漏根因定位
更多请点击: https://intelliparadigm.com 第一章:Swoole多租户LLM会话管理全解析,深度解读连接复用率提升3.8倍与内存泄漏根因定位 在高并发LLM服务场景中,Swoole协程服务器需同时承载数百个租户的独立会话上下文,传…...
GITA:面向视觉-语言图推理的图到视觉与文本集成
论文结构化摘要:GITA:面向视觉-语言图推理的图到视觉与文本集成 1. 核心研究问题 (PICO/T) P (问题/群体): 当前基于大型语言模型(LLM)的图推理方法仅使用文本描述来表示图结构,忽略了直观的视觉模态。现有的图神经网络(GNN)虽然擅长图推理,但泛化性、灵活性和用户友好…...
ESP32开源WiFi MAC层技术解析与应用前景
1. ESP32开源WiFi MAC层项目解析作为一名长期跟踪嵌入式无线通信发展的工程师,最近看到ESP32即将获得开源WiFi MAC层的消息让我兴奋不已。这标志着开源硬件社区在打破无线通信技术黑箱方面迈出了关键一步。目前ESP32虽然拥有开放的开发框架ESP-IDF,但其无…...
Zynq项目踩坑记:SD卡死活读不到?先别急着改代码,检查一下Vivado里这个隐藏的勾选框!
Zynq项目实战:SD卡读取异常的硬件排查手册 凌晨三点的实验室,咖啡杯早已见底,示波器屏幕上跳动的波形仿佛在嘲笑你的无能为力——SD卡又双叒叕读取失败了。作为经历过数十个Zynq项目的资深工程师,我太熟悉这种场景了:软…...
高通QCS610边缘AI视觉套件开发实战解析
1. 高通边缘AI视觉套件qSmartAI80_CUQ610深度解析最近在边缘AI视觉领域,e-con Systems推出了一款基于高通QCS610 SoC的视觉开发套件qSmartAI80_CUQ610。作为一名长期跟踪嵌入式视觉系统的开发者,我认为这款产品在边缘计算和机器视觉的交叉领域具有独特优…...
PyTorchNLPBook神经机器翻译:从序列到序列学习到注意力机制
PyTorchNLPBook神经机器翻译:从序列到序列学习到注意力机制 【免费下载链接】PyTorchNLPBook Code and data accompanying Natural Language Processing with PyTorch published by OReilly Media https://amzn.to/3JUgR2L 项目地址: https://gitcode.com/gh_mirr…...
利用MCP协议实现App Store Connect自动化管理:从API封装到AI助手集成
1. 项目概述:当开发者遇上App Store Connect的“管理之痛” 如果你是一名iOS或macOS应用的独立开发者,或者在一个小型团队里负责应用的发布与运营,那么对App Store Connect(简称ASC)这个平台一定又爱又恨。爱它&#x…...
告别 frp 和命令行!UU 远程「端口映射」上线,小白也能一键穿透内网
在家办公想连公司内网的数据库?远程调试服务器还要折腾 frp 配置文件?现在,UU 远程全新「端口映射」功能帮你把这些麻烦统统干掉。一、痛点:远程访问内网服务,到底有多折腾 做过开发运维的同学一定不陌生这个场景—— …...
通过Hermes Agent框架接入Taotoken实现自定义工作流的详细步骤指南
通过Hermes Agent框架接入Taotoken实现自定义工作流的详细步骤指南 1. 准备工作 在开始配置之前,请确保已安装Hermes Agent框架并完成基础环境搭建。您需要从Taotoken控制台获取两项关键信息:有效的API Key和所需调用的模型ID。登录Taotoken控制台后&a…...
