• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Linux存储的基本管理

互联网 diligentman 1周前 (11-18) 8次浏览

文章目录

  • 1. 存储管理的实验环境
  • 2.设备识别
  • 3.设备挂载
  • 4.设备中文件的查看
  • 4.分区
    • 4.1 fdisk分区
    • 4.2 parted分区
    • 4.3 格式化分区挂载
    • 4.4 mbr分区方式转化成GPT
  • 5. swap分区
  • 6.磁盘配额
    • 6.1磁盘配额作用
    • 6.2磁盘配额设定方法

1. 存储管理的实验环境

虚拟机中:

  1. 先添加一块硬盘,20G,virtio
    Linux存储的基本管理
    Linux存储的基本管理
    Linux存储的基本管理
    Linux存储的基本管理
    Linux存储的基本管理
    Linux存储的基本管理

  2. 设定好ip
    Linux存储的基本管理

  3. 配置好yum仓库
    Linux存储的基本管理

2.设备识别

设备接入系统后都是以文件的形式存在。

设备文件名称:

SATA/SAS/USB		/dev/sad,/dev/sdb	   		  s=SATA d=DISK a=第一块,依次类推
IDE					/dev/hd0,/dev/hd1	  		  h=hard
VIRTIO-BLOCK		/dev/vad,/dev/vdb	     	  v=virtio
M2(SSD)			/dev/nvme0,/dev/mvme1	      nvme=m2
SD/MMC/EMMC(卡)	/dev/mmcblk0,/dev/mmcblk1     mmcblk=mmc卡
光驱				/dev/cdrom,/dev/sr0,/dev/sr1

设备查看:

fdisk -l					查看磁盘分区情况(真实存在的)
lsblk						设备使用情况
blkid						设备管理方式及设备id(投入使用的设备才有id)
df							查看正在被系统挂载的设备
cat /proc/partitions 		查看系统识别设备(被系统识别到的设备才能够被使用)

Linux存储的基本管理
Linux存储的基本管理

Linux存储的基本管理

Linux存储的基本管理
Linux存储的基本管理

df -h
df -H

-H: 1M=1000K
-h: 1M=1024K

Linux存储的基本管理

3.设备挂载

在系统中有id的设备是可以被系统使用的。

挂载命令:

mount  device 挂载点						挂载
umount 设备|挂载点						取消挂载
mount									查看挂载信息

mount -o 挂载参数 device 挂载点			指定参数挂载
mount -o ro /dev/sdb1 /mnt				以只读方式挂载/dv/sdb1到/mnt
mount -o remount,rw /mnt				转化挂载参数由只读到读写

Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理

在卸载时出现设备正忙:

fuser -kvm 设备|挂载点	  -k 结束进程;-v 显示详细信息;-m 显示进程

4.设备中文件的查看

find 
	-name 				名称查看
	-user				用户查看
	-group				组查看
	-type f|d|s|b|l		类型查看
	-perm 222 /222 -222	权限查看,/:或者,-:并且,至少这三个都有
	-exec				对查找出来的文件执行操作
	-maxdepth 1			查看最大深度(指定遍历搜索的最大深度查找文件)
	-mindepth 1			查看最小深度(指定遍历搜索的最小深度查找文件)
	-cmin 1|-1|+1		时间,1分钟|小于1分钟|大于一分钟
	-size 1|-1|+1		大小
	-o					或者,条件并列查找文件
	-a					并且,条件都满足查找文件
	-not				并非,反选查找文件

先创建一下实验演示:

Linux存储的基本管理
Linux存储的基本管理

Linux存储的基本管理
实验:

Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理

4.分区

分区方式 位数 分区表大小 支持分区个数 支持单个分区大小
统分区方式(MBR) 32位 64个 主分区4个,所有分区16个 2.2TB
UEFI(GPT) 64位 128个 理论上无限制(windows下128个) 8ZB

注意:GPT分区的概念很好的解决了MBR分区大小的限制。

MBR分区方式:

主分区:主分区表记录分区的信息并可以直接使用的分区
扩展分区:主分区表记录的分区,不可直接使用,只是逻辑分区容器
逻辑分区:扩展分区之上划分的分区叫做逻辑分区

4.1 fdisk分区

  1. 进去分区信息:fdisk /dev/vdb
分区信息的命令 功能
m 获得帮助
d 删除
l 列出所有分区类型
n 新建
p 显示分区表
t 更改分区类型
w 保存
q 退出
  1. 建立分区表过程:
    fdisk /dev/vdb
o
n
+100M
n
+100M
n
+100M
n
e
p

Device     Boot  Start      End  Sectors  Size Id Type
/dev/vdb1         2048   206847   204800  100M 83 Linux
/dev/vdb2       206848   411647   204800  100M 83 Linux
/dev/vdb3       411648   616447   204800  100M 83 Linux
/dev/vdb4       616448 41943039 41326592 19.7G  5 Extended

wq

Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理

  1. 同步分区表:
    udevadm settle

  2. 查看:
    fdisk -l
    Linux存储的基本管理

4.2 parted分区

清理磁盘:
dd if=/dev/zero of=/dev/vdb bs=1M count=1

Linux存储的基本管理

parted -l							查看分区
parted /dev/vdb help				寻求帮助
parted /dev/vdb mklabel msdos		设定类型为msdos
parted -l				

parted /dev/vdb mkpart primary 1 10	设定始末
partprobe							同步分区表
fdisk -l

parted /dev/vdb rm 1				删除分区
fdisk -l

Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理

fsisk 交互
parted 非交互

4.3 格式化分区挂载

临时挂载:

fdisk -l 				查看有/dev/vdb1的存在
mount /dev/vdb1 /mnt	挂载失败
mkfs.xfs -K /dev/vdb1	格式化设备为xfx文件系统,相当于在/dev/sda1上安装设备管理软件 -K:不丢弃空数据块
mount /dev/vdb1 /mnt	挂载成功

Linux存储的基本管理

Linux存储的基本管理

永久挂载:

设备永久挂载:
vim /etc/fstab 		#设备挂载策略文件

设备		 挂载点	 文件系统类型	     挂载参数 	   是否备份	   是否检测
/dev/sr0  /mnt     iso9660       defaults         0		      0

Linux存储的基本管理
Linux存储的基本管理

此文件在编写完成后不会马上生效:
mount -a     重新读取/etc/fstab文件

注意:此文件内容编写错误会导致系统启动失败,按照提示在操作界面输入超级用户密码,注释错误行,重启系统即可。

练习:

umount /mnt			取消临时挂载
df					查看是否取消成功

vim /etc/fstab		编写设备永久挂载
/dev/vdb1	 /mnt   xfs  defaults        0 0

mount -a			重新读取/etc/fstab文件
df					查看挂载成功

4.4 mbr分区方式转化成GPT

默认建立的磁盘为MBR分区方式,转换分区方式后原有数据会消失。

df
vim /etc/fstab   删除永久挂载
mount -a 
df				 
umount /mnt

Linux存储的基本管理

mbr分区方式转化成GPT:

parted /dev/sda 		parted分区命令
(parted) mklabel		指定分区类型
New disk label type? gpt  选择分区方式位gpt
Warning:
Yes/No? yes
quit

Linux存储的基本管理

5. swap分区

作用:

程序在运行时所有数据是在RAM。
当RAM超过了限额,为了使系统更加稳定,我们在硬盘上划分一部分空间来作内存缓冲区swap。
当内存使用超过限额,内核会把内存中闲置的数据存放到swap中。
当程序需要swap分区中的数据时,内核将swap分区中的数据再交还给内存进程处理。

swap分区大小建议:

内存大小 	swap分区建议大小	  	 当允许HIBERNATE
2GiB以下	    内存两倍		   	 	内存3倍
2-8GiB		    等于物理内存	   	 	物理内存2倍
8-64GiB		    4GiB		   	 	1.5倍内存
64GiB以上	    4GiB		   	 	HIBERNATE不开

swap管理:
swapon -s 查看swap分区信息

创建swap分区:

新的:
fdisk /dev/vdb
o
n
+2G
p
t
82
swap分区创建成功

Linux存储的基本管理
Linux存储的基本管理
Linux存储的基本管理

Linux存储的基本管理

设定新建分区优先级:
临时设定:

mkswap /dev/vdb1	格式化设备为swap分区
swapon /dev/vdb1	启用swap分区	
swapon -s
swapoff /dev/vdb1	禁用swap分区
swapon /dev/vdb -p 1	指定优先级(范围位:0-32767)
swapon -s			

Linux存储的基本管理
Linux存储的基本管理

永久设定:

vim /etc/fstab
/dev/vdb1 swap swap defaults,pri=1 0 0

swapon -a	启用swap分区

删除swap:

vim /etc/fstab
/dev/vdb1 swap swap defaults,pri=1 0 0 删除此行

swapoff /dev/vdb1

6.磁盘配额

6.1磁盘配额作用

设定用户能写入指定设备的最大额度。

6.2磁盘配额设定方法

创建一个新的分区:

Device     Boot Start    End Sectors  Size Id Type
/dev/vdb1        2048 206847  204800  100M 83 Linux

格式化:
mkfs.xfs /dev/vdb1

针对每个用户进行配额:

后挂载影响文件本身权限:

ls -ld /westos			查看/westos目录权限
chmod 1777 /westos		设定权限
ls -ld /westos
mount /dev/vdb1 /westos	挂载
df
ls -ld /westos			权限改变
umount /westos			取消挂载

Linux存储的基本管理
Linux存储的基本管理

临时设定配额:

  1. 挂载设备并激活配额参数
    mount /dev/vdb1 /westos -o usrquota 先挂载
    chmod 1777 /westos 设定权限
    ls -ld /westos 查看权限
  2. 激活配额,-u开启用户配额,-v显示过程
    quotaon -uv /dev/vdb1
  3. 设定用户配额额度
    edquota -u westos
    设定westos用户的限额为20M
Disk quotas for user westos (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vdb1                         0          0      20480          0        0        0

Linux存储的基本管理
Linux存储的基本管理

  1. 测试
su - westos
dd if=/dev/zero of=/westos/westosfile bs=1M count=1/20  ok!
dd if=/dev/zero of=/westos/westosfile bs=1M count=21	NO!

Linux存储的基本管理

永久设定配额:

vim /etc/fstab
/dev/vdb1			          /westos                 xfs     defaults,usrquota 0 0

关闭配额:

vim /etc/fstab
/dev/vdb1			          /westos                 xfs     defaults,usrquota 0 0   删除此行
quotaoff -uv /dev/vdb1


喜欢 (0)