LINUX 磁盘管理
nanshan 2024-11-26 06:59 33 浏览 0 评论
【九】磁盘管理
9.1 linux硬盘的基本概念:
1)在linux中,每一个硬件设备都会以一个文件的形式映射到/dev目录下,第一个IDE设备定义为hda,第二个IDE设备就定义为hdb,以此类推,而SCSI设备就应该是sda、sdb、sdc等。
2)对于每一个硬盘(IDE/SCSI)设备,linux分区分配一个1-16的序列号码,这就代表了硬盘上面的分区号码,示例:加一块SCSI硬盘,第一个分区是编号是sdb1,第二个分区就是sdb2,以此类推…
3)有三种分区,分别是主分区,扩展分区和逻辑分区:
【主分区】的作用是启动操作系统,所以linux的启动系统或引导程序都应该存放在主分区上。
【逻辑分区】实际上是扩展分区的具体体现,扩展分区要占用一个设备号。linux规定了主分区(或者扩展分区)一共最多是4个,分别占用1至16号码中的前四个号码,示例:第一个SCSI硬盘的主分区(或扩展分区)占用sda1, sda2, sda3, sda4。而逻辑分区则可以占用sda5到sda16等12个号码,这就对应上了前面所说的最多16个分区。
4)Linux6版本安装时一般选择ext4格式,这个文件格式存取效率较高,是一种日志型文件系统,但是windows是不识别的,ext4是GNU/linux系统中标准的文件系统。一个分区做成了ext4文件系统后,如果要使用必须挂载它(mount),系统缺省提供了一个目录,就是/mnt,当然你可以根据需要再建其他的目录作为挂载点,只读设备如光驱也如此。
9.2 挂载、卸载文件系统
1)mount命令
用途:挂载文件系统、ISO镜像到指定文件夹
格式:mount [ -t 类型 ] 存储设备 挂载点目录
2)umount命令
用途:卸载已挂载的文件系统
格式:umount 存储设备位置
3)如何在vbox下mount光盘
第一步,分配光驱:
这一步相当于把光盘插入光驱
第二步,手工mount光盘:
[root@alex]#mount /dev/cdrom /media
4)系统挂载表
/etc/fstab文件称为系统挂装表,作用是当系统启动时自动mount的文件系统,只需要用文本编辑器修改系统挂装表,添加相应的mount记录即可。
第一字段:设备位置
第二字段:挂载点
第三字段:文件系统类型
第四字段:挂载参数,即mount命令“-o”选项后可使用的参数,如defaults、rw等
第五字段:表示文件系统是否需要dump备份(dump是一个备份工具),一般设为1时表示需要,设为0时将被dump所忽略
第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0不进行检查,1优先,2其次。对于根分区应设为1,其它分区设为2
【注】此表修改要小心,因改写错误可能使系统不能启动,如果提示发现文件是只读的,请尝试重新mount后再次修改fstab文件。
#mount -n -o remount, rw /
9.3增加SWAP分区
扩充一块swap空间最好来自一个单独的分区,尽量避免使用根分区,但我们这里只是讲解一下步骤,就使用一次根分区吧。
[root@alex ~]# free –m 查看内存空间分配
[root@alex ~]# df –h 查看磁盘空间分配
先用dd命令生成一个空文件,把它放在/下,单位1024m,设置2G,另外bs的单位M要大写。
[root@alex ~]# dd if=/dev/zero of=/swap1 bs=1M count=2048
2)创建一个swap类型文件,名字随便
[root@alex ~]# mkswap /swap1
3)将swpf1生成swap文件
[root@alex ~]# swapon /swap1
查看一下,swap1起作用了
[root@alex ~]# free –m
4)实现开机后自动使用新添swap1分区
[root@alex ~]# vi /etc/fstab
添加swap行
/swap1 swap swap defaluts 0 0
5)修改tmpfs行 tmpfs是一个虚拟内存(物理内存+交换区)的文件系统
tmpfs /dev/shm tmpfs defaults,size=2G 0 0
6)tmpfs重置一下,使其当下有效
[root@alex ~]#mount -o remount /dev/shm
7)如何撤销操作,返回原状
[root@alex ~]#swapoff /swap1
[root@alex ~]#rm -rf /swap1
修改/etc/fstab文件 逆操作回到初始状态。
9.4磁盘操作相关命令
1)du用于查看磁盘使用情况。
du –s 显示当前目录总的使用量
du –h 带单位显示磁盘各个文件的使用量令
[root@alex ~]#du -sh
888K .
[root@alex ~]#du -sh /etc
114M /etc
2)df 用于查看磁盘剩余情况。
df -h 带单位显示磁盘信息
[root@alex ~]#df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 28G 4.7G 21G 19% /
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 1014M 0 1014M 0% /dev/shm
3)磁盘分区命令
fdisk 的子命令:
m:显示命令帮助清单
a:激活分区的可引导标志
l:列出可选的分区类型
n:添加新分区
d:删除已经存在的分区
p:显示分区表
t:改变分区的文件系统类型
w:写分区表
q:退出
4)磁盘格式化操作
语法: mkfs <选项> <分区设备名>
如:#mkfs -t ext4 /dev/sdb1
或者: mkfs.ext4 <分区设备名>
如:#mkfs.ext4 /dev/sdb1
9.5磁盘限额
Linux系统在默认情况下,并不限制每个用户或组使用磁盘空间的大小,如果某个用户疏忽或恶意将磁盘占满,将导致系统无法进行写操作甚至崩溃。Linux提供的磁盘限额是基于磁盘分区的,而不是基于目录的。
本节实验目标是提供磁盘限额功能:
一)设置磁盘限额的步骤:
(1)启动分区限额功能
(2)生成限额信息文件
(3)设置用户和组限额
(4)启动磁盘限额服务
二)实验:配置磁盘限额
1)启动分区限额功能;/etc/fstab文件中添加描述
[root@alex ~]#vi /etc/fstab
[root@alex ~]#mount -o remount /disk1
[root@alex ~]#df
2)生成配额信息文件
[root@alex ~]#quotacheck -avug
[root@alex ~]#ls -al /disk1
drwxrwxrwx 5 root root 4096 12-10 14:52 .
drwxr-xr-x 26 root root 4096 12-10 14:11 ..
-rw------- 1 root root 7168 12-10 14:55 aquota.group
-rw------- 1 root root 8192 12-10 14:57 aquota.user
3)设置用户和组限额
3.1)设置用户限额
[root@alex disk1]#edquota -u ran
[root@alex disk1]#edquota -p ran wang liu 复制给其他用户
3.2)设置组限额
[root@alex disk1]#edquota -g class01
[root@alex disk1]#edquota -g -p class01 class02 复制给其他组
3.3)查看用户和组限额
[root@alex disk1]#repquota -avug
参数说明:
-a 扫描/etc/fstab里有加入quota的分区,
-v 显示指令执行过程
-u 计算当前user使用磁盘空间和Inode数
-g 计算当前group使用磁盘空间和Inode数
4)启动磁盘限额服务
[root@alex ]#quotaon -a
/disk1的磁盘限额已经开启
5)迁移/usr下用户目录到/disk1下,并建立链接
[root@alex ~]#mv /usr/class01 /disk1
[root@alex ~]#mv /usr/class02 /disk1
[root@alex ~]#ln -s /disk1/class01 /usr/class01
[root@alex ~]#ln -s /disk1/class02 /usr/class02
6)测试磁盘限额作用
以ran用户登录
[ran@alex ~]$dd if=/dev/zero of=/usr/class01/ran/ranfile bs=1024K count=50
7)删除磁盘限额
[root@alex ~]#quotaoff -a 关闭quota
[root@alex ~]#rm /disk1/aquota.* 删除/disk1下的两个磁盘限额文件
[root@alex ~]#vi /etc/fstab 去除usrquota,grpquota描述
9.6磁盘阵列的RAID存储技术
一)RAID介绍
RAID技术是以硬件方式(磁盘柜及控制器)实现的存储管理技术,可以实现数据并行读写、快速的动态扩容及支持多种容错方案。
1)Raid0
由两块或两块以上硬盘组成,但是每块硬盘所贡献的空间大小必须相同,读写效率高。
2)Raid1
由两块磁盘组成,每块磁盘提供相同大小的空间,支持容错,即一块硬盘损坏后数据不会丢失,磁盘空间利用率50%。
3)Raid5
至少需要三块硬盘,每块硬盘必须提供相同的磁盘空间,提供容错功能,磁盘空间利用率n-1/n,n为磁盘数量。
4)Raid 1+0(或0+1)
【RAID 0+1】 和【RAID 1+0】的比较:
【RAID0+1】:是先做两个RAID0,然后再做RAID1,因此RAID0+1允许坏多个盘,但只能在坏在同一个RAID0中,不允许两个RAID0都有坏盘。如上图,两组盘柜错开损坏,RAID 0+1将失效,但RAID1+0可仍然存活。
【RAID1+0】:是先做RAID1,然后再做RAID0,因此RAID1+0允许坏多个盘,只要不是一对磁盘坏。
结论:RAID1+0 比 RAID0+1安全得多,因为在同一组磁盘中,两块磁盘都坏掉的概率很低。
9.7逻辑卷管理器LVM
1)Logical Volume Manager,逻辑卷管理
LVM是以完全的软件方式实现的磁盘高级管理,屏蔽了底层磁盘布局,便于动态调整磁盘容量。
【注】:/boot分区用于存放引导文件,不能应用LVM机制。
2)逻辑卷有三大优点
1、在多个磁盘上条带化存储数据,提供并行IO能力
2、可以建立磁盘镜像,提供容错功能保护数据
3、扩展性好,根据需要灵活扩容存储空间
Linux LVM如何组织并存储数据?
1)线性卷:
一个线性卷可以将多个物理卷,集合到一个逻辑卷中。示例:如果有两个磁盘,60G和40G,我们可以创建一个100G的逻辑卷。其实就是将物理存储串连在一起了,写入数据到线性卷时,数据在磁盘是顺序写入的,即第一块物理盘写满了,再写入第二块磁盘。
2)条状卷:
当向LVM逻辑卷读写数据时,文件系统在基本物理卷之间部署数据。相当于同时从多个物理盘上读写(类似RAID0技术)。对于大批量的读取和写入,这样可以提高数据输入/输出的效率。
进行条状分布:所谓的round-round。
数据的第一条写入PV1
数据的第二条写入PV2
数据的第三条写入PV3
数据的第四条写入PV1
3)镜像卷:
镜像维护不同设备中的相同的副本。当向一个设备中写入数据时,也会向第二个设备中写入,即镜像保存数据(相当于RAID1)。当镜像的一个分支失败时,逻辑卷就成为一个线性卷,但仍然可访问。使用LVM,可以创建有多个镜像的镜像逻辑卷。
LVM 的管理命令:
pvcreate 设备名
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
the end !!!
@jackman 共筑美好!
相关推荐
- 0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)
-
文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...
- ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes
-
为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...
- 生产环境starrocks 3.1存算一体集群部署
-
集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...
- 在CentOS上添加swap虚拟内存并设置优先级
-
现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...
- 国产深度(deepin)操作系统优化指南
-
1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...
- postgresql-15.4 多节点主从(读写分离)
-
1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...
- Docker 容器 Java 服务内存与 GC 优化实施方案
-
一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...
- 虚拟内存设置、解决linux内存不够问题
-
虚拟内存设置(解决linux内存不够情况)背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...
- Elasticsearch性能调优(5):服务器配置选择
-
在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...
- Es如何落地
-
一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...
- 针对Linux内存管理知识学习总结
-
现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...
- MySQL进阶之性能优化
-
概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...
- Linux Cgroups(Control Groups)原理
-
LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...
- linux 常用性能优化参数及理解
-
1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...
- 如何在 Linux 中使用 Sysctl 命令?
-
sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)