就业班 2401--2.28 Linux Day7--存储管理1

一 .存储管理

主要知识点: 基本分区、逻辑卷LVM、EXT3/4/XFS文件系统、RAID

初识硬盘

机械 HDD
固态 SSD

SSD的优势

SSD采用电子存储介质进行数据存储和读取的一种技术,拥有极高的存储性能,被认为是存储技术发展的未来新星。

与传统硬盘相比,SSD固态电子盘具有以下优点:

第一,SSD完全的半导体化,不存在数据查找时间、延迟时间,数据存取速度快。
第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。  
第三,得益于无机械部件及闪存芯片,SSD没有任何噪音,功耗低。 
第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。

硬盘尺寸

3.5寸 2.5寸 1.8寸

从插拔方式

#热插拔
非热插拔

从硬盘接口

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;

硬盘设备命名

物理硬盘:    /dev/sd[a-z]KVM虚拟化:
/dev/vd[a-z](半虚拟化驱动)
/dev/sd[a-z](全虚拟化驱动)

从磁盘分区方式区分

MBR格式
分区命令:fdisk  
一共可以分14个分区(4个主分区,扩展分区,逻辑分区) 例如: 3主 + 1扩展(n逻辑)
MBR 小于2TB的硬盘。
一块硬盘最多分4个主分区。
GPT格式
分区命令:gdisk(parted---rhel6)
一共可以分128个主分区
GPT大于小于2TB都可以。
#注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!

基本分区

首先需要先给虚拟机添加磁盘

[root@qfedu.com ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 Nov  7 23:15 /dev/sda
brw-rw----. 1 root disk 8,  1 Nov  7 23:15 /dev/sda1
brw-rw----. 1 root disk 8,  2 Nov  7 23:15 /dev/sda2
brw-rw----. 1 root disk 8, 16 Nov  7 23:15 /dev/sdb
brw-rw----. 1 root disk 8, 32 Nov  7 23:15 /dev/sdc
[root@qfedu.com ~]# lsblk  #查看磁盘设备
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part ├─centos-root 253:0    0   17G  0 lvm  /└─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   10G  0 disk 
sdc               8:32   0   10G  0 disk
fdisk

MBR 14个分区(4个主分区,扩展分区,逻辑分区)

[root@qfedu.com ~]# fdisk -l /dev/sdb #查看磁盘分区信息
[root@qfedu.com ~]# fdisk /dev/sdb  #针对MBR格式,创建分区
m  查看帮助
n  新建分区
Partition type: p  新建主分区p   primary (0 primary, 0 extended, 4 free)e   extended
默认回车
设置主分区大小创建主分区,然后
Command (m for help): p  ---打印分区信息
创建扩展分区
Command (m for help): n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default p): e
#注意:扩展分区将剩下的空间全部给了。一路回车即可
创建逻辑分区
Command (m for help): n
Partition type:p   primary (1 primary, 1 extended, 2 free)l   logical (numbered from 5)
Select (default p): l   创建逻辑分区
Adding logical partition 5 
First sector (208896-20971519, default 208896): 
Using default value 208896
Last sector, +sectors or +size{K,M,G} (208896-20971519, default 20971519): +5G #指定大小
Partition 5 of type Linux and of size 5 GiB is set
Command (m for help): w   --保存退出
[root@qfedu.com ~]# partprobe /dev/sdb   #更新磁盘分区表,手动让内核更新分区表。不需要重启
[root@qfedu.com ~]# lsblk #查看磁盘设备

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格式)

1.创建分区

[root@qfedu.com ~]# yum -y install gdisk  #安装分区工具
[root@qfedu.com ~]# gdisk -l /dev/sdc
[root@qfedu.com ~]# gdisk /dev/sdc
Command (? for help): n  --创建分区
Partition number (1-128, default 1): 
First sector (34-16777182, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-16777182, default = 16777182) or {+-}size{KMGTP}: +100M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):      ---直接回车
Command (? for help): p   --打印分区信息
Command (? for help): w    ---保存
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y   是否覆盖是
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
[root@qfedu.com ~]# partprobe /dev/sdc  #刷新分区表
[root@qfedu.com ~]# gdisk -l /dev/sdc
[root@qfedu.com ~]# lsblk

2.创建文件系统(格式化)centos7默认使用xfs

[root@qfedu.com ~]# mkfs.ext4 /dev/sdb1   #格式化成ext4格式的文件系统
[root@qfedu.com ~]# mkfs.xfs /dev/sdc2   #格式化成xfs格式的文件系统

3.挂载mount使用

[root@qfedu.com ~]# mkdir /mnt/disk1   #创建挂载目录
[root@qfedu.com ~]# mkdir /mnt/disks   #创建挂载目录
[root@qfedu.com ~]# mount  /dev/sdb1 /mnt/disk1/
[root@qfedu.com ~]# mount /dev/sdc2 /mnt/disks/

查看磁盘挂载与磁盘使用空间

[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 人性化显示,磁盘空间大小

取消挂载

[root@qfedu.com ~]# umount /mnt/disks/
[root@qfedu.com ~]# umount -l /mnt/disk1/ #强行卸载,即使目录有资源被进程占用,也可以卸载

开机自动挂载

/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
参数解释:
第1列:挂载设备
(1)/dev/sda5  
(2)UUID=设备的uuid   rhel6/7的默认写法   同一台机器内唯一的一个设备标识
第2列:挂载点
第3列:文件系统类型
第4列:文件系统属性  
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查

[root@qfedu.com ~]# mount -a #自动挂载

实战二

[root@qfedu.com ~]# vim /etc/fstab
/dev/sdc2       /mnt/disks      xfs     defaults        0 0
[root@qfedu.com ~]# mount -a
/etc/rc.d/rc.local

这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可

[root@qfedu.com ~]# vim /etc/rc.d/rc.local #将挂载命令直接写到文件中
mount /dev/sdb1 /mnt/disk1/
mount /dev/sdc1 /mnt/disk2/
[root@qfedu.com ~]# chmod +x /etc/rc.d/rc.local #添加执行权限
[root@qfedu.com ~]# reboot

二、文件系统

分类

分类:
本地文件系统,不能在网络上用。
ntfs  xfs  ext2,ext3,ext4
网络文件系统,也可以在本地用。
nfs   glusterfs   hdfs   ceph

概念

作用:
管理文件的一套系统。
文件的编辑,拷贝,粘贴,移动。#理解inode:
inode :inoed块、i节点--索引节点。专门存储inode信息。也就是是文件的属性-(也叫元信息).它是文件或目录在磁盘里的唯一标识,linux读取文件首先要读取到这个索引节点,每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

inode的内容

文件的字节数
文件拥有者的User ID
文件的Group ID
文件的读、写、执行权限
文件的时间戳,共有三个:ctime,mtime,atime。
链接数,即有多少文件名指向这个inode

查看inode信息

[root@qfedu.com ~]# stat /etc/hostsFile: ‘/etc/hosts’Size: 158             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 16778306    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-07-28 19:11:48.781000069 +0800
Modify: 2013-06-07 22:31:32.000000000 +0800
Change: 2020-07-18 15:37:52.353025437 +0800Birth: -[root@qfedu.com ~]# ls -i /etc/hosts  #-i:查看inode号
16778306 /etc/hosts

EXT

EXT 家族支持度最广:
但创建文件系统(格式化)慢!
修复慢!
文件系统存储容量有限!

XFS

XFS 同样是一种日志式文件系統:
高容量,支持大存储
高性能,创建/修复文件系统快
格式化快

总结+补充

为什么用户购买的硬盘和实际有差别?

1000MB

1000Mb

1b=8b

1、添加一块硬盘,并用lsblk 查看,确认硬盘已添加成功

2、fdisk 分区
fdisk /dev/sdb
o 创建mbr分区表
n 创建新的分区
1 选择是主分区还是扩展分区
2 选择分区号
3 选择开始位置
4 选择结束位置
p 查看分区表
w 保存退出(谨慎)

3、如果退出后查看lsblk 无法查看到分区,执行以下命令
partprobe /dev/sdb 刷新分区表

4、格式化(初始化文件系统)
mkfs.xfs /dev/sdb1

5、挂载分区
mkdir /data # 挂载点
mount /dev/sdb1 /data

6、检查挂载是否成功
df -Th

df 和 lsblk的区别

都用来查看磁盘信息的
1、df 只能看到挂载了的磁盘和分区,可以看到使用情况
2、lsblk 可以看到所有硬盘和分区,但是无法看到使用情况

du -sh 查看每个目录的大小

测磁盘压力        dd if= /dev/zero of= bs= count=

查询UUID

blkid /dev/sdc

硬盘

需要分区

fdisk 硬盘

o 初始化mbr分区方式 g 初始化gpt分区方式

n 添加分区

o p 主分区 e 扩展分区 (e不能直接使用 l 逻辑分区) g 1-128

开始位置 默认

结束位置 +容量

w 保存

如果lsblk不显示分区,那么需要partprobe 磁盘路径 刷新分区表

格式化 mkfs.xfs 或 mkfs.ext4

挂载,开机挂载

不需要分区

格式化 mkfs.xfs 或 mkfs.ext4

挂载,开机挂载

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

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

相关文章

Codeforces Round 929 (Div. 3)(A,B,C,D,E,F,G)

这场没考什么算法,比较水,难度也不是很高。比赛链接 硬要说的话E有个 前缀和 加 二分,F是数学BFS,G是个构造 A. Turtle Puzzle: Rearrange and Negate 题意: 给你一个由 n n n 个整数组成的数组 a a a 。您必须对…

Rocky Linux 运维工具yum

一、yum的简介 ​​yum​是用于在基于RPM包管理系统的包管理工具。用户可以通过 ​yum​来搜索、安装、更新和删除软件包,自动处理依赖关系,方便快捷地管理系统上的软件。 二、yum的参数说明 1、install 用于在系统的上安装一个或多个软件包 2、seach 用…

golang使用gorm操作mysql1

1.mysql连接配置 package daoimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/logger" )var DB *gorm.DB// 连接数据库,启动服务的时候,init方法就会执行 func init() {username : "roo…

stm32学习笔记:ADC

1 ADC简介 ADC的作用ADC就是一个电压表,把引脚的电压值测出来,放在一个变量里 DAC的作用信号发生器、音频解码芯片 ADC的两个关键参数: 1、分辨率,一般用多少位来表示,12位AD值,它的表示范围就是0~2^12-1&…

Modern C++ std::any为何要求Tp可拷贝构造?

小问题也会影响设计的思路,某个问题或某种case的探讨有助于理解设计的初衷。 声明:以下_Tp/Tp都是指要放入std::any的对象的类型。 它要求_Tp is_copy_constructible, 仅仅是因为有很多函数的实现调用了Tp的拷贝构造函数吗?比如说上节提到的初…

pikachu之xss获取键盘记录

前备知识 跨域 跨域(Cross-Origin)是指在互联网中,浏览器为了保护用户信息安全而实施的一种安全策略——同源策略(Same-Origin Policy),即浏览器禁止一个域上的文档或者脚本(如通过JavaScript发…

Rocky Linux安装部署Elasticsearch(ELK日志服务器)

一、Elasticsearch的简介 Elasticsearch是一个强大的开源搜索和分析引擎,可用于实时处理和查询大量数据。它具有高性能、可扩展性和分布式特性,支持全文搜索、聚合分析、地理空间搜索等功能,是构建实时应用和大规模数据分析平台的首选工具。 …

(十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目

前言 本节内容是一套关于微服务项目在docker环境中使用jenkins流水线部署的完整方案,在开始本节内容之前,我们需要提前安装好docker环境,以及docker本地镜像仓库docker harbor,同时安装好SonarQube用于代码验证,具体的安装步骤可参考作者的往期博客内容。 正文 在源码仓…

【MySQL】学习和总结标量子查询

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-kLo6jykc7AcEVEQk {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

爱普生为姿态和振动控制开发理想的IMU

- M-G370PDS0改善了短期噪声,扩展了型号阵容,使产品选择范围更广- 精工爱普生公司(“爱普生”,TSE: 6724)已经开发出M-G370PDS0样品,这是一种配备高性能六轴传感器的新型惯性测量单元(IMU)1。新产品计划于2022年春季批量生产。 爱…

MarkDown实用技巧:MarkDown中如何实现换行?

MarkDown实用技巧:MarkDown中如何实现换行? 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望…

虚拟机安装+固定ip地址

一、下载CentOS 二、安装CentOS 1、打开你的VMware Workstation Pro,并点击“创建新的虚拟机” 2、点选典型(推荐)(T),并点击“下一步” 3、点选稍后安装操作系统(S),并点击“下一步” 4、点选Linux,并点击“下一步” 6、点击“…

flutter 一键打出不同包名、应用名、版本名、签名、应用图标、版本号的安装包

1. build.gradle 文件中配置不同的应用信息 flavorDimensions "app"productFlavors {app1 {//配置包名manifestPlaceholders [str: "releaseStr", package_name: "com.example.demo1"]applicationId "com.example.demo1"versionCode …

【SpringCloudAlibaba系列--OpenFeign组件】OpenFeign的配置、使用与测试以及OpenFeign的负载均衡

步骤一 准备两个服务,provider和consumer 本文使用kotlin语言 provider是服务的提供者,由provider连接数据库 RestController RequiredArgsConstructor RequestMapping("/provider/depart") class DepartController(private val departServ…

【GameFramework框架内置模块】6、实体(Entity)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q7…

备战蓝桥杯————k个一组反转单链表

k个反转单链表,顾名思义就是k个节点为一组进行反转,这是一道困难的题目,如何解答,可以在我们前面的反转链表中得到思路。 如何 K 个一组反转单链表 题目描述 给你链表的头节点 head ,每 k 个节点一组进行翻转&#xf…

Spring AOP -- 面相切面编程

AOP是Spring框架的核心之一,AOP是一种思想,它的实现方法有很多,有Spring AOP,也有AspectJ、CGLIB等。我们熟知的拦截器其实就是AOP思想的一种实现方式。 AOP是一种思想,是对某一类事情的集中处理。 Spring AOP的实现…

【MySQL】MySQL复合查询--多表查询自连接子查询 - 副本

文章目录 1.基本查询回顾2.多表查询3.自连接4.子查询 4.1单行子查询4.2多行子查询4.3多列子查询4.4在from子句中使用子查询4.5合并查询 4.5.1 union4.5.2 union all 1.基本查询回顾 表的内容如下: mysql> select * from emp; ----------------------------…

IAudioManager.cpp源码解读

IAudioManager.cpp源码如下: 源码路径:https://cs.android.com/android/platform/superproject/main//main:frameworks/native/services/audiomanager/IAudioManager.cpp;drc84410fbd18148d422d3581201c67f1a72a6658c4;l147?hlzh-cn /** Copyright (C)…

JavaWeb——005 请求响应 分层解耦(Postman、三层架构、IOC、DI、注解)

SpringBootWeb请求响应 这里写目录标题 SpringBootWeb请求响应前言1. 请求1.1 Postman1.1.1 介绍1.1.2 安装 1.2 简单参数1.2.1 原始方式1.2.2 SpringBoot方式1.2.3 参数名不一致 1.3 实体参数1.3.1 简单实体对象1.3.2 复杂实体对象 1.4 数组集合参数1.4.1 数组1.4.2 集合 1.5 …