linux 一些命令

文章目录

    • linux 一些命令
      • fdisk 磁盘分区
      • parted 分区
      • 文件系统
        • mkfs 格式化文件系统
        • fsck 修复文件系统
      • mount 挂载
      • swap 交换分区
      • 清除linux缓存
      • df du 命令
      • raid 命令
        • 基本原理
        • 硬raid 和 软raid
        • 案例
        • raid 10 故障修复,重启与卸载
      • lvm逻辑卷技术
        • LVM的使用方式
        • LVM 常见名词解析
        • LVM 原理
        • LVM 创建流程
        • 案例

linux 一些命令

fdisk 磁盘分区

1. 查看分区信息
fdisk -l  
2. 创建分区
fdisk /dev/sda  #通过 1 查看未分区磁盘
依次输入 n p 回车 回车(或者指定大小 +xxxm)  w (也可以再细分)
类型默认普通类型 83  swap 类型 83  动态类型(自动扩容) 8e
3. 删除分区
fdisk /dev/sdb
d 按指令输入
4. 切换类型 w 前输入 t 切换partx -a /dev/sdb 重读分区cat /proc/pactitions 分区信息存储文件

parted 分区

< 2T 用fdisk > 2T 用 parted

parted /etc/sdb
mklbel gpt   # 类型
mkpart primary/logical 0 500 # 分区 (start, end) 
q  # 退出

文件系统

VFS 虚拟文件系统,抽象出来调度不同文件类型格式的文件系统中交互

linux文件系统类型格式有

  • ext2
  • ext3 centos5
  • ext4 centos6
  • xfs centos7

网络共享文件系统

nfs network File system

smb server message block 服务消息块

集群文件系统

gfs google file system

ocfs oracle cluster file system oracle 数据库定制文件系统

cepe 为了存储的可靠性和扩展性分布式文件系统

交互文件系统

swap 虚拟内存

文件系统主要区别在于是否是日志型文件系统

mkfs 格式化文件系统
mkfs.xfs  /etc/sdb
fsck 修复文件系统

默认读取 /etc/fstab 开机挂载文件

fsck -t ext4  /etc/sdb

mount 挂载

mount /dev/sdb /mnt   # 挂载命令, 需要先格式化后挂载
umount /mnt   # 取消挂载,前提无人使用mount -o 参数async 异步处理文件系统,加速写入,数据不会同步写入磁盘,写入一个缓冲区提高性能,损失一定安全性sync  同步处理文件系统atime/noatime 是否记录修改时间defaults  默认所有exec/noexec  是否允许挂载点内的可执行命令ro 只读rw  读写att2 磁盘上存储内连扩展属性,提升性能inode64  允许在文件系统的任意位置创建inodenoquota  强制关闭文件系统的限额功能mount -o  ro /dev/sdb /mnt挂载信息在 /etc/fstab 文件目录下
开机自动挂载,将挂载信息写入这个文件就行

swap 交换分区

centos7 计算swap分区如下
-内存小于2G swap 和内存设置大小相同
-内存大于2G swap 设置2G设置swap分区1. 给磁盘分区,指定swap类型 
2. 格式化 mkswap  /dev/sdb
3. 使用  swapon /dev/sdb
4. 关闭  swapoff /dev/sdb

清除linux缓存

1. 释放cache的命令echo 1 > /proc/sys/vm/drop_caches 等同于 sysctl -w  vm.drop_caches=1
2. 清理目录缓存和inodesecho 2 > /proc/sys/vm/drop_caches  等同于 sysctl -w  vm.drop_caches=2
3. 清除内存页的缓存echo 3 > /proc/sys/vm/drop_caches  # sysctl -w vm.drop_caches=3
上述是临时释放缓存命令,不建议有程序在使用缓存是使用
可以写入 /ect/sysctl.conf 中,永久生效清理文件系统和僵尸进程  sync 命令  
sync 作用,将内存缓冲区的数据,写入到磁盘中

df du 命令

df 命令 是用来检查挂载点
df -h/-i   显示挂载信息。-h 显示kb, mb单位大小- i显示已 inode 数量
也可以 df -Th 加上挂载文件类型du 命令是 用来查看文件大小命令(linux 文件存储的最小单位是4kb)du -h   #显示 文件大小 以 kb mb 单位显示
du -h * #显示当前目录/ 把 * 换成指定文件 显示指定文件大小
du -a   #显示目录中所有文件大小du -ah --max-depth=1 /opt   显示目录下文件大小深度
du -ah --exclude="*.pyc" /opt 显示除 .pyc 文件大小

raid 命令

raid 即 磁盘阵列冗余技术

用途:将多块独立的硬盘,组成一个容量更大,安全性更高的磁盘阵列组,将数据切位多个区段之后,分别存储在不同的物理硬盘上。利用分散读写技术提升磁盘的整体性能。 数据同步在不同的多个磁盘上, 也能得到冗余备份的作用

特性:能够保证数据安全性,但是也增加了磁盘的成本,能够保障数据丢失造成的严重损失,提升硬盘读写效率。被广泛的使用

基本原理
raid 技术分为 raid 0  raid 1 raid 3 raid 5 	 raid 10###  raid 0 
raid 0 特点是将数据依次写入两块硬盘中,理想情况下写入速度翻倍
但是 如果坏了一块硬盘,数据都会被破坏, 没有备份功能。只追求性能,数据安全性低
###  raid 1
raid 1  将两块以上的硬盘绑定,数据写入时,同时写入多块数据, 即使硬盘故障损坏,也有备份
但 极大的降低了硬盘存储的利用率,2块硬盘 只有 50% 的利用率
###  raid 3  必须三块硬盘以上
基于异或运算原理
计算机异或运算:  数字相同则为 0 不同则为 1磁盘异或运算  A 异或 B 异或 C
多个值异或计算的概念1 的个数是奇数,结果为 11 的个数是偶数,结果为 0
异或的作用,只要知道异或的结果,任何一个值都能被反推出来,且只有 01raid 3 的特点,存储着异或值的磁盘不得损坏(同时坏两块),成本较高### raid 5 必须四块硬盘以上
校验码均匀的放在每一块硬盘上,因此,即使挂了任意一块硬盘,都能反推出原本的数据### raid 10  raid 0 + raid 1 技术
先通过raid 1,实现备份,保证数据安全性
再通过raid 0 ,加快写入速度

数据冗余性能 raid 1> raid 10 > raid 5 > raid 0

数据读写性能 raid 0> raid 10 > raid 5 > raid 1

成本 raid 0 > raid 10 > raid 1 > raid 5

硬raid 和 软raid

软raid 通过软件代码实现

硬raid 就是厂商提供 raid 阵列卡,由raid 卡上的主控芯片去操作磁盘

区别

软 raid 会额外消耗cpu资源 ,造成服务器压力

硬raid 更加稳定,软 raid 可能会造成 磁盘发热过量,造成损坏

硬raid 兼容性更好,软 raid 兼容性依赖于操作系统,可能会出问题

硬raid 除了成本,完胜软raid

对应场景和选择方案

  1. 单台服务器,数据重要,建议 raid 1
  2. 数据存储服务器(主服务器raid10) 从服务器(raid5 , 减少成本)
  3. web 服务器, 没有太多数据的,建议raid5,raid0
  4. 应用服务器,和数据交互的,建议 raid 0 ,raid 5(提升速率)
案例

raid 10 的使用过程 (四块磁盘)

 ls /dev/sd* # 查看硬盘以 sdb sdc sdd  sde 四块磁盘为例子# 下载一个 mdadm 用于建设,管理和监控RAID技术的命令
1. yum install -y mdadm2. mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb  /dev/sdc  /dev/sdd /dev/sde-C 表示创建RAID 阵列-v 显示创建过程-n 4 表示用4块硬盘创建-l 10 表示指定 raid 级别/dev/md0 阵列名称3. 格式化文件系统为 xfsmkfs.xfs /dev/md0
4. 	用mount 进行挂载 
raid 10 故障修复,重启与卸载
故障修复
0. 查看raid 10 状态mdadm -D /dev/md0查看 Devices 相关信息, 找到坏掉的硬盘1. 删除一块硬盘mdadm /dev/md0 -f /dev/sdb 2. 重新加入硬盘(前提需要停止使用,重启机器,取消挂载)mdadm /dev/md0 -a /dev/sdb 然后等待修复完毕即可重启
1. 创建一个raid 配置文件echo DEVICE /dev/sd[b-e] > /etc/mdadm.conf
2. 扫描磁盘阵列信息,追加到这个文件中mdadm -Ds >> /etc/mdadm.conf
3. 取消挂载umount /home
4. 停止raid 10mdadm -S /dev/md0
5. 检查raid 信息mdadm -D /dev/md0  # 正常应该看不到任何信息
6. 重启raid 10 mdadm -A /dev/md0
7. 检查,这时正常能看到raid10 的信息卸载
1. 卸除挂载umount /home
2. 停止 raid 10mdadm -S /dev/md0
3. 卸载磁盘mdadm --misc --zero-superblock /dev/sdbmdadm --misc --zero-superblock /dev/sdcmdadm --misc --zero-superblock /dev/sddmdadm --misc --zero-superblock /dev/sde
4. 删除重启配置文件rm -rf /etc/mdadm.conf
5. 删除开机自动挂载信息vim /etc/fstab

lvm逻辑卷技术

raid 技术,能够提供硬盘的读写效率,已经数据的安全性,但当配置好后,容量的大小,都被限制住了,如果存储的业务非常多,磁盘容量不够用就会出问题,并且raid 的磁盘扩容非常麻烦,并且只能冷扩容

不同的磁盘分区,相对都是独立的。没有任何联系,空间利用率很低

如果某一个分区满了,默认的磁盘管理无法直接扩容,只能重新分区,重新分配容量大小,创建文件系统,很麻烦

如果要合并分区,也得重新格式化磁盘分区,还要进行数据备份

为了解决以上缺点,lvm (logical volume manager)逻辑卷管理技术 被用来解决这块问题

Lvm 技术,就是将一个或者多个硬盘逻辑上进行了合并,相当于一个大的硬盘去使用,当你的硬盘不够了,就会自动使用其他硬盘中容量。动态扩容

LVM的使用方式

在这里插入图片描述

  1. 基于分区形式创建lvm

    硬盘的多个分区,由lvm统一进行管理为卷组,可以弹性的调整卷组的大小,加入新硬盘,可以充分的利用磁盘容量

    文件系统是创建在逻辑卷上,逻辑卷可以根据需求改变大小(总容量控制在卷组中)

  2. 基于硬盘创建lvm

    多块硬盘做成逻辑卷,将整个逻辑卷统一管理,对分区进行动态扩容

LVM 常见名词解析
PP (pyhsical parttion), 物理分区,lvm直接创建在物理分区上
PV (pyhsical volume), 物理卷,处于lvm的最底层。一般一个PV对饮一个PP
PE(physical extends), 物理区域, PV中可以用于分配的最小存储单位,同一个VG所有的PV中的PE大小相同
VG (volume group), 卷组,卷组创建在pv之上,可以划分为多个PV
LE (logical extends) 逻辑扩展单元, LE 是组成 LV的基本单元,一个LE对应一个PE
LV(logical volume) 逻辑卷,创建在VG之上,是一个可以动态扩容的分区概念

在这里插入图片描述

LVM 原理
  • LVM 动态扩容大小,其实就是通过互相交换PE的过程,达到弹性扩容分区大小
  • 减少空间容量,就是剔除PE的大小
  • 扩大容量,就是把其他的PE添加到自己的LV中
  • PE默认大小一般是4M,LVM 最多可以创建出65534个PE,因此LVM最大的VG卷组单位是256G
  • LV 是逻辑卷的概念,(和普通分区类似)

优点:lvm 的文件系统可以跨多个磁盘,分区大小不受磁盘容量限制 可以在系统运行中,直接动态扩容文件系统大小 可以直接增加新的硬盘,到lvm的vg卷组中

LVM 创建流程
  1. 物理分区阶段,针对物理磁盘或者分区,进行fdisk格式化,修改系统id,默认83 改为 8e 类型,lvm 类型
  2. PV 阶段,通过pvcreate,pvdisplay 将linux 分区改为物理卷PV
  3. 创建VG卷组,vgcreate vgs 显示卷组信息
  4. 创建 LV 逻辑卷, lvcreate vgs 显示卷组信息
  5. 开始格式化文件系统,使用lv分区

lvm的管理常见命令

1. pvpvcreate   创建物理卷pvs    扫描简单信息pvscan  扫描物理卷组信息pvdispaky  显示各个物理卷的详细信息pvremove  删除物理卷2. vg 卷组vgcreatevgscanvgdisplayvgreduce   缩小卷组,把物理卷从卷组中移除vgextend   扩大卷组,把某个新的物理卷,加入到卷组中vgremove   删除整个卷组3. lv逻辑卷lvcreatelvscanlvdisplay lvslvextendlvreducelvremove 
案例
### 提前进行磁盘物理分区,将分区类型设置为 8e 类型
1. 创建pv
[root@linux localhost]# pvcreate /dev/sdc1 /dev/sdc2Physical volume "/dev/sdc1" successfully createdPhysical volume "/dev/sdc2" successfully created
2. 创建vg资源池
[root@linux localhost]# vgcreate  vg0  /dev/sdc1  /dev/sdc2Volume group "vg0" successfully created
[root@linux localhost]# vgsVG   #PV #LV #SN Attr   VSize  VFree vg0    2   0   0 wz--n- 14.99g 14.99g
[root@linux localhost]# vgdisplay--- Volume group ---VG Name               vg0System ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                2Act PV                2VG Size               14.99 GiBPE Size               4.00 MiBTotal PE              3838Alloc PE / Size       0 / 0   Free  PE / Size       3838 / 14.99 GiB
3. 创建lv
[root@linux localhost]# lvcreate -L +3G -n lv0  vg0Logical volume "lv0" created.
[root@linux localhost]# lvsLV   VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertlv0  vg0  -wi-a----- 3.00g  
4. 格式化分区
[root@linux localhost]# mkfs.xfs  /dev/vg0/lv0
meta-data=/dev/vg0/lv0           isize=256    agcount=4, agsize=196608 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=0        finobt=0
data     =                       bsize=4096   blocks=786432, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
5. 挂载后就可以使用了,也可以写入 /etc/fastab 后加入开机自动加载,或者 通过 mount -a 重载
[root@linux localhost]# mount /dev/vg0/lv0  /lvdir6. LV 扩容, 扩容后需要刷新文件系统  扩容(缩容)之前建议先取消挂载,让文件系统处于稳定状态,避免潜在风险
[root@linux localhost]# umount /lvdir
[root@linux localhost]# lvextend -L +5G  /dev/vg0/lv0Size of logical volume vg0/lv0 changed from 3.00 GiB (768 extents) to 8.00 GiB (2048 extents).Logical volume lv0 successfully resized.    
[root@linux localhost]# mount /dev/vg0/lv0  /lvdir
[root@linux localhost]# xfs_growfs  /dev/vg0/lv07. LV 缩容 
[root@linux localhost]# lvreduce -L -5G  /dev/vg0/lv0  

卸载流程

1. 取消挂载
[root@linux localhost]# umount  /lvdir
2. 删除lv
[root@linux localhost]# lvremove  /dev/vg0/lv0  
3. 删除vg
[root@linux localhost]# vgremove  vg0
4. 删除pv
[root@linux localhost]# pvs   # 查看卷组
[root@linux localhost]# pvremove /dev/sdc1 /dev/sdc2   # 删除卷组

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

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

相关文章

Python爬虫详解:原理、常用库与实战案例

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言引言&#xff1a;一、爬虫原理1. HTTP请求与响应过程2. 常用爬虫技术 二、P…

【C++程序员的自我修炼】基础语法篇(二)

风力掀天浪打头 只须一笑不须愁 目录 内联函数 概念&#x1f49e; 性质 ⭐ 不建议变量分离 inline的优劣势 inline的局限性 auto关键字 auto的概念&#x1f49e; auto的使用细则&#x1f49e; auto不能推导的场景 &#x1f49e; auto基于范围的for循环&#x1f49e; 指针空值n…

nginx的安装教程

文章目录 简介nginx安装windows下安装linux下安装 简介 nginx是一个开源的web服务器和反向代理服务器&#xff0c;可以用作负载均衡和HTTP缓存。它处理并发能力是十分强大的&#xff0c;能够经受高负载的考验。 正向代理 Nginx不仅可以做反向代理&#xff0c;实现负载均衡&am…

简单说清楚什么是SQL Injection?

最近看完了《The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition: Your Journey to Mastery》&#xff0c;在第7章&#xff1a;While You Are Coding的footnotes中&#xff0c;提到了一幅漫画&#xff1a; 这不仅用简单的方式说清楚了什么是SQL Injection&#…

C语言数据结构易错知识点(6)(快速排序、归并排序、计数排序)

快速排序属于交换排序&#xff0c;交换排序还有冒泡排序&#xff0c;这个太简单了&#xff0c;这里就不再讲解。 归并排序和快速排序都是采用分治法实现的排序&#xff0c;理解它们对分支思想的感悟会更深。 计数排序属于非比较排序&#xff0c;在数据集中的情况下可以考虑使…

百度贝塞尔曲线证码识别代码

一、前言 百度出了如图所示的验证码&#xff0c;需要拖动滑块&#xff0c;与如图所示的曲线轨迹进行重合。经过不断研究&#xff0c;终于解决了这个问题。我把识别代码分享给大家。 下面是使用selenium进行验证的&#xff0c;这样可以看到轨迹滑动的过程&#xff0c;如果需要…

Windows11系统缺少相关DLL解决办法

一.缺少msvcp120.dll 下载Mircrosoft Visual C 2015等系统关键组件 Microsoft Visual C 2015-2022 Redistributable (x86) - 14.34.31931 Installation Error etc.. - Microsoft Q&A 二.缺少python27.dll 重新下载python2.7进行安装(选择Windows x86-64 MSI installer)…

DS2438Z+TR智能电池监测器多场景行业应用解决方案

DS2438ZT&R智能电池监视器为电池组提供了若干很有价值的功能&#xff1a;可用于标识电池组的唯一序列号&#xff1b;直接数字化的温度传感器省掉了电池组内的热敏电阻&#xff1b;可测量电池电压和电流的A/D转换器&#xff1b;集成电流累积器用于记录进入和流出电池的电流总…

前端学习<二>CSS基础——14-CSS3属性详解:Web字体

前言 开发人员可以为自已的网页指定特殊的字体&#xff08;将指定字体提前下载到站点中&#xff09;&#xff0c;无需考虑用户电脑上是否安装了此特殊字体。从此&#xff0c;把特殊字体处理成图片的方式便成为了过去。 支持程度比较好&#xff0c;甚至 IE 低版本的浏览器也能…

格雷希尔G10系列L150A和L200A气动快速连接器,在新能源汽车线束线缆剥线后的气密性测试密封方案

线束线缆在很多用电环境都有使用&#xff0c;比如说新能源汽车&#xff0c;从电池包放电开始&#xff0c;高低压、通讯都开始进行工作&#xff0c;线束在连接的地方需要具有较高的气密性和稳定性&#xff0c;才能保证车辆在不同环境下能够正常的运行。 线束在组装铜鼻子前需要剥…

Linux之 线程池 | 单例模式的线程安全问题 | 其他锁

目录 一、线程池 1、线程池 2、线程池代码 3、线程池的应用场景 二、单例模式的线程安全问题 1、线程池的单例模式 2、线程安全问题 三、其他锁 一、线程池 1、线程池 线程池是一种线程使用模式。线程池里面可以维护一些线程。 为什么要有线程池&#xff1f; 因为在…

C++第十四弹---模板初阶

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、泛型编程 2、函数模板 2.1、函数模板的概念 2.2、函数模板的格式 2.3、函数模板的原理 2.4、函数模板的实例化 2.5、模板参数的匹配原则 …

抽象类和接口(2)(接口部分)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…

增加网站搜索引擎排名的6个准则

怎样提高网站排名首页 在竞争激烈的网络世界中&#xff0c;网站的排名对于吸引流量和提升曝光至关重要。登上搜索引擎结果页面的首页&#xff0c;意味着更多的曝光和点击率。以下是一些方法&#xff0c;可以帮助您提高网站在搜索引擎中的排名&#xff0c;让其跻身首页&#xf…

2014年认证杯SPSSPRO杯数学建模A题(第二阶段)轮胎的花纹全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 A题 轮胎的花纹 原题再现&#xff1a; 轮胎被广泛使用在多种陆地交通工具上。根据性能的需要&#xff0c;轮胎表面常会加工出不同形状的花纹。在设计轮胎时&#xff0c;往往要针对其使用环境&#xff0c;设计出相应的花纹形状。   第二阶段问…

SAP 销售分销中的免费货物

销售业务中&#xff0c;免费货物在您与客户协商价格时起着重要作用。在零售、化工或消费品这样的行业部门中&#xff0c;通常以免费货物的形式向客户提供折扣。 作为用户&#xff0c;业务用户希望能自动确定免费货物并将它们归入销售凭证中。同时需要向成本控制部门提供免费货物…

SOC内部集成网络MAC外设+ PHY网络芯片方案:PHY芯片基础知识

一. 简介 本文简单了解一下 "SOC内部集成网络MAC外设 PHY网络芯片方案" 这个网络硬件方案中涉及的 PHY网络芯片的基础知识。 二. PHY芯片基础知识 PHY 是 IEEE 802.3 规定的一个标准模块。 1. IEEE规定了PHY芯片的前 16个寄存器功能是一样的 前面说了&#xf…

[优选算法专栏]专题十五:FloodFill算法(二)

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

基于8086多路模拟采集LED报警系统设计

**单片机设计介绍&#xff0c;基于8086多路模拟采集LED报警系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086多路模拟采集LED报警系统设计概要 一、引言 在工业控制、环境监测以及智能家居等领域&#xff0c;多…

探索http-vue-loader的奥秘:原理、使用方法、在Vue开发中的应用

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…