使用 parted 对单个磁盘进行分区并进行配额「建议收藏」

使用 parted 对单个磁盘进行分区并进行配额「建议收藏」文章目录1.实验要求2.实验步骤3.我的一次实验步骤1.实验要求虚拟机新增一个硬盘,大小大于10G,使用parted工具对磁盘进行分区,分区类型为ext4对新增分区设置磁盘配额,限制lisi用户最多允许使用200M的容量大小并最多允许创建10个文件2.实验步骤准备一个新虚拟机,我们用新环境进行实验VMware添加一块20G硬盘echo”—“>/sys/class/scsi_host/host0/scan#扫描主机fdis

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


1. 实验要求

  • 虚拟机新增一个硬盘,大小大于 10G ,使用 parted 工具对磁盘进行分区,分区类型为 ext4
  • 对新增分区设置磁盘配额,限制 lisi 用户最多允许使用 200M 的容量大小并最多允许创建 10 个文件

2. 实验步骤

准备一个新虚拟机,我们用新环境进行实验
VMware 添加一块 20G 硬盘
echo "- - -" > /sys/class/scsi_host/host0/scan    #扫描主机
fdisk -l    #查看 /dev/sdb 是否添加成功

parted /dev/sdb
#过程-----------------------------------------
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel                                                          
新的磁盘标签类型? gpt                                                    
(parted) mkpart                                                           
分区名称?  []? sdb1                                                      
文件系统类型?  [ext2]? ext4                                              
起始点? 0                                                                
结束点? 10G
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore                                           
(parted) q                                                                
信息: You may need to update /etc/fstab.
#-----------------------------------------------

partprobe /dev/sdb     #更新分区表
fdisk -l           #查看是否有了一个 10G 的新分区叫 sdb1
mkfs -t ext4 /dev/sdb1
mkdir /test

#设置磁盘配额的方式挂载
echo "/dev/sdb1 /test ext4 defaults,usrquota,grpquota 0 0" >> /etc/fstab
mount -a
df -Th|grep sdb1    #查看 sdb1 是否挂载成功
setenforce 0        #临时关闭 selinux
yum -y install xfsprogs quota
quotacheck -cvu /dev/sdb1       #创建配额配置文件(或者 /test)
ll /test/ | grep aquota.user    #查看配置文件是否创建成功

#进行配额
useradd lisi
echo "123456" | passwd --stdin lisi

#----------------------------------------------------
edquota -u lisi    #该命令对用户进行磁盘配额

Disk quotas for user lisi (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0          0       200M          0        0       10
#----------------------------------------------------

#开启配额功能
quotaon -uv /dev/sdb1    #开启配额功能,等于 quotaon -uv /test
quotaon -p /dev/sdb1     #查看(quotaoff 关闭配额功能)
chmod 777 /test

#验证容量限额
[lisi@c7-1 /test]$dd if=/dev/zero of=/test/test.txt bs=10M count=30
sdb1: write failed, user block limit reached.
dd: 写入"/test/test.txt" 出错: 超出磁盘限额
记录了21+0 的读入
记录了20+0 的写出
209715200字节(210 MB)已复制,0.531336 秒,395 MB/秒

#验证文件数量限额
[lisi@c7-1 /test]$touch { 
   1..30}.txt
sdb1: write failed, user file limit reached.
touch: 无法创建"10.txt": 超出磁盘限额
touch: 无法创建"11.txt": 超出磁盘限额
touch: 无法创建"12.txt": 超出磁盘限额
touch: 无法创建"13.txt": 超出磁盘限额
touch: 无法创建"14.txt": 超出磁盘限额
......

3. 我的一次实验步骤

[root@c7-1 ~]#parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a particular partition
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted) mklabel gpt                                                      
(parted) mkpart                                                           
分区名称?  []? primary                                                   
文件系统类型?  [ext2]? ext4                                              
起始点? 1                                                                
结束点? 10G                                                              
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     标志
 1      1049kB  10.0GB  9999MB               primary

(parted) q                                                                
信息: You may need to update /etc/fstab.



partprobe /dev/sdb
mkfs.ext4 /dev/sdb1
mkdir /test

[root@c7-1 ~]#mount /dev/sdb1 /test/
[root@c7-1 ~]#df -Th
文件系统       类型      容量  已用  可用 已用% 挂载点
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G   12M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda2      xfs        50G  1.7G   49G    4% /
/dev/sda5      xfs        40G   33M   40G    1% /data
/dev/sda1      xfs       2.0G  141M  1.9G    7% /boot
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
/dev/sdb1      ext4      9.1G   37M  8.6G    1% /test

#设置磁盘配额
[root@c7-1 ~]#yum -y install xfsprogs quota &> /dev/null
[root@c7-1 ~]#rm -rf /test/*
[root@c7-1 ~]#umount /test
[root@c7-1 ~]#echo "/dev/sdb1 /test ext4 defaults,usrquota,grpquota 0 0" >> /etc/fstab
[root@c7-1 ~]#mount -a
[root@c7-1 ~]#df -Th | grep sdb1
/dev/sdb1      ext4      9.1G   37M  8.6G    1% /test
[root@c7-1 ~]#useradd lisi
[root@c7-1 ~]#echo "123456" | passwd --stdin lisi
更改用户 lisi 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@c7-1 ~]#setenforce 0
[root@c7-1 ~]#quotacheck -auvg &> /dev/null
[root@c7-1 ~]#ll /test
总用量 16
-rw------- 1 root root 6144 824 12:04 aquota.group
-rw------- 1 root root 7168 824 12:08 aquota.user
[root@c7-1 ~]#edquota -u lisi #设置配额

Disk quotas for user lisi (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0          0     204800          0        0       10

[root@c7-1 ~]#quotaon -uv /test #开启配额功能
[root@c7-1 ~]#quotaon -p /test
group quota on /test (/dev/sdb1) is on
user quota on /test (/dev/sdb1) is on

[root@c7-1 ~]#chmod 777 /test/
[root@c7-1 ~]#su - lisi
[lisi@c7-1 ~]$cd /test
[lisi@c7-1 /test]$ls
aquota.group  aquota.user
[lisi@c7-1 /test]$dd if=/dev/zero of=/test/test.txt bs=10M count=30
sdb1: write failed, user block limit reached.
dd: 写入"/test/test.txt" 出错: 超出磁盘限额
记录了21+0 的读入
记录了20+0 的写出
209715200字节(210 MB)已复制,0.208929 秒,1.0 GB/秒
[lisi@c7-1 /test]$touch { 
   1..20}.txt
sdb1: write failed, user file limit reached.
touch: 无法创建"10.txt": 超出磁盘限额
touch: 无法创建"11.txt": 超出磁盘限额
touch: 无法创建"12.txt": 超出磁盘限额
touch: 无法创建"13.txt": 超出磁盘限额
touch: 无法创建"14.txt": 超出磁盘限额
touch: 无法创建"15.txt": 超出磁盘限额
touch: 无法创建"16.txt": 超出磁盘限额
touch: 无法创建"17.txt": 超出磁盘限额
touch: 无法创建"18.txt": 超出磁盘限额
touch: 无法创建"19.txt": 超出磁盘限额
touch: 无法创建"20.txt": 超出磁盘限额
[lisi@c7-1 /test]$quota -u lisi
Disk quotas for user lisi (uid 1001): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1  204800*      0  204800              10*      0      10
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169742.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mock测试概念「建议收藏」

    mock测试概念「建议收藏」mock测试概念:mock是在测试过程中,对于一些不容易构造/获取的对象,创建啊一个mock对象来模拟对象的行为mock对象使用范畴真实对象具有不可确定的行为。真实对象很难被创建。真实对象的某些行为很难触发。真实情况令程序运行速度很难。真实对象实际上并不存在。测试隔离的实现。mock有什么用?解除一些依赖关系,当测试部分接口实现,需要依赖于与其他接口与,而其他接口没完…

    2022年6月20日
    24
  • 【线性代数】线性方程组的求解「建议收藏」

    【线性代数】线性方程组的求解

    2022年1月31日
    73
  • Stata做空间杜宾模型、莫兰指数等操作

    Stata做空间杜宾模型、莫兰指数等操作以下内容完全由本人在实际操作中搜集整理总结得到,很细致的介绍:从如何在stata中导入数据,怎么定义面板数据,再到如何做局部和全局空间相关性检验(莫兰指数)和空间杜宾模型等。1、导入面板数据在excel中输入如下格式的数据:打开STATA,data-dataeditor-dataeditor(edit),将excel中数据复制上去接着在STATA主界面的comm…

    2022年6月25日
    59
  • python 自带slic代码分析

    python 自带slic代码分析一 python 中的 slic 函数 defslic image n segments 100 compactness 10 max iter 10 sigma 0 spacing None multichannel True convert2lab None enforce connectivity True min size fact

    2025年7月21日
    4
  • 最长公共子串 动态规划_最长公共子串 DNA序列

    最长公共子串 动态规划_最长公共子串 DNA序列原题链接题目描述给定两个字符串str1和str2,输出连个字符串的最长公共子序列。如过最长公共子序列为空,则输出-1。输入描述:输出包括两行,第一行代表字符串str1,第二行代表str2。( 1<= length(str1),length(str2)<= 5000)输出描述:输出一行,代表他们最长公共子序列。如果公共子序列的长度为空,则输出-1。示例1输入1A2C3D4B56B1D23CA45B6A输出123456说明”123456″和“12C4B6”都是最长公共

    2022年8月8日
    7
  • 常用的curl命令及参数详解

    前言:经常需要用到curl命令在线上机器中去测试接口,尤其是一些内外网接口、判断线上接口信息等,需要用到curl命令直接测试页面或接口返回值,下面是我常用的curl命令参数及作用:1、curl url作用:获取页面内容或接口响应示例:以爱奇艺视频页领取优惠券为例:curl https://act.vip.iqiyi.com/api/process.action?cb=cb_1540…

    2022年4月8日
    222

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号