使用 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • object.finalize_object的equals方法

    object.finalize_object的equals方法Object类九大方法之finalize方法finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。finalize的作用(1)finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性(2)不建议用fin…

    2022年9月19日
    2
  • 前端面试题:vue响应式原理 Vdom diff

    前端面试题:vue响应式原理 Vdom diffvue的响应式原理,也算是面试中再常见不过的题目了,之前遇见这道题目只会说:利用的是Object.defineProperty进行的数据劫持,监听数据的变化,通知watcher进行的数据更新。总的来说这是没错的,但是只要面试官进一步的问,那一定是满脸的问号。昨天一天也是没有面试机会,所以就研究了一天这个东西,算是搞明白了(自我感觉),今天就把他来写成文章,希望大佬看到哪里不对给出指导,本文可能会有点长。上正文。现在最流行的框架非vue,react莫属,他们流行起来的原因,离不开响应式,因为它在做一些.

    2022年6月2日
    41
  • Java Web和Java后端开发的学习路线

    Java Web和Java后端开发的学习路线基础:比如计算机系统、算法、编译原理等等Web开发:主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面),这部分内容你可以去上面的那个runoob网站上找。J2EE:你需要学习的是Servlet/JSP(J2EE)部分,…

    2022年7月8日
    24
  • 【AssemblyInfo.cs】为程序设置版本和帮助信息

    【AssemblyInfo.cs】为程序设置版本和帮助信息软件编写完成之后,都会在软件中添加一些版权信息,怎样设置这些版权信息呐?C#工程中的AssemblyInfo.cs文件又有什么作用?

    2022年7月13日
    27
  • 前端使用ajax_ajax属于前端吗

    前端使用ajax_ajax属于前端吗原生AJAX名称:异步的javascriptandxml原理:通过XMLHttpRequest与服务器交换数据服务器数据通过json或者xml格式返回浏览器通过js+css渲染展示数据GET创建xhropen打开连接监听readystatereadyState4准备状态完毕status状态码200响应成功send发送<buttonid=”btn”>点击</button> <pid=”content”></p

    2022年9月29日
    2
  • hi3798mv300是什么手机_华为海思电视芯片hi3798mv300 硬件参数如何?

    hi3798mv300是什么手机_华为海思电视芯片hi3798mv300 硬件参数如何?这个是MV300的参数http://www.hisilicon.com.cn/-/media/Hisilicon/pdf/STB/Hi3798MV300.pdf​www.hisilicon.com.cn这个是MV200的参数http://www.hisilicon.com/-/media/Hisilicon/pdf/STB/Hi3798MV200.pdf​www.hisilicon.com两者对比…

    2022年6月22日
    140

发表回复

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

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