linux磁盘分区

Catalogue
  1. 1. 磁盘分区
    1. 1.1. fdisk
    2. 1.2. 添加swap交换分区
  2. 2. 创建卷组
    1. 2.1. 创建逻辑卷
  3. 3. 磁盘配额设置
    1. 3.1. 磁盘配额

磁盘分区

参考:linux硬盘分区
这种操作基本上是在root权限下进行的

fdisk

先查看磁盘是否分区

1
fdisk -l

然后开始分区

1
fdisk /dev/sdb

分区完了以后开始格式化分区

1
mkfs.ext4 /dev/sdb1		将分区格式化为ext4格式

挂载分区

1
2
mkdir /d1
mount /dev/sdb1 /d1

分区自动挂载

  1. 查看磁盘分区的UUID
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # sudo blkid


    /dev/sda1: UUID="9dece6b7-d63d-4c9f-8931-3ff5d25965ae" TYPE="ext4"
    /dev/sda2: UUID="OEamKx-sppz-hPqx-rpqT-NFyQ-T4HJ-5yu2Fg" TYPE="LVM2_member"
    /dev/sdb1: UUID="RLvoic-RCoH-deFJ-6sSO-25ez-a7ZG-o8gQzS" TYPE="LVM2_member"
    /dev/sdb5: UUID="95d9cddf-fe3b-4dc1-8a8f-f87344f03ba0" TYPE="swap"
    /dev/sdb6: UUID="Ad2LUL-48rb-rjPQ-YYis-Q8dw-Ih6b-W1WiBi" TYPE="LVM2_member"
    /dev/mapper/vg_centos-lv_root: UUID="428c0814-d826-4bf0-bebe-21fdd1701e09" TYPE="ext4"
    /dev/mapper/vg_centos-lv_swap: UUID="c483d48c-56a4-4c90-b920-79a98ee594ec" TYPE="swap"
    /dev/mapper/MediaVG-Mp3LV: UUID="23000b69-386c-48da-8547-f5ac485c2c6f" TYPE="ext4"
  2. 配置开机自动挂载文件/etc/fstab
    1
    vi /etc/fstab
    加入 UUID=”23000b69-386c-48da-8547-f5ac485c2c6f” /vodstore ext4 defaults 0 1


具体说明,以挂载/dev/sdb1为例:
:分区定位,可以给UUID或LABEL,例如:UUID=6E9ADAC29ADA85CD或LABEL=software
:具体挂载点的位置,例如:/data
:挂载磁盘类型,linux分区一般为ext4,windows分区一般为ntfs
:挂载参数,一般为defaults
:磁盘检查,默认为0
:磁盘检查,默认为0,不需要检查

  1. 重启系统
    修改完/etc/fstab文件后,运行
    1
    mount -a
    验证一下配置是否正确。如果配置不正确可能会导致系统无法正常启动。

御卸分区

1
umount /dev/sdb1

删除分区

1
2
3
4
fdisk /dev/sdc
d
1
w

根据提示删除即可

磁盘分区也可以使用cfdisk

添加swap交换分区

  1. 查看swap 空间大小
    1
    # free -m
  2. 查看swap 空间
    1
    # swapon -s
    等价于
    1
    # cat /proc/swaps
  3. 添加一个交换分区
    使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
    使用 mkswap 命令来设置交换分区:
    1
    # mkswap /dev/sdb2
    启用交换分区:
    1
    # swapon /dev/sdb2
    写入/etc/fstab,以便在引导时启用:
    /dev/sdb2 swap swap defaults 0 0
    1
    echo “/dev/sdb2 swap swap defaults 0 0” >> /etc/fstab
  4. 添加一个交换文件
    创建大小为512M的交换文件:
    1
    # dd if=/dev/zero of=/swapfile1 bs=1024k count=512
    使用 mkswap 命令来设置交换文件:
    1
    # mkswap /swapfile1
    启用交换分区:
    1
    # swapon /swapfile1
    写入/etc/fstab,以便在引导时启用:
    /swapfile1 swap swap defaults 0 0
    1
    echo "/swapfile1 swap swap defaults 0 0" /etc/fstab

新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。

  1. 删除交换空间:
    禁用交换分区:
    1
    # swapoff /dev/sdb2
    从 /etc/fstab 中删除项目;
    使用fdisk或yast工具删除分区。

删除交换文件步骤同上。

创建卷组

参考:
Linux服务器创建卷组
Linux LVM逻辑卷

物理卷:通常一个分区或者一个硬盘就可以建立一个物理卷,物理卷的最小单位是PE,一般默认是4MB。

卷组:将多个物理卷组合到一起,成为一个卷组。

虚拟卷:其实就是在卷组的基础上再次划分,最小单位是LE,与PE一样,并且一一对应。逻辑卷跟物理卷没有本质区别,只是站在不同的层次来看罢了

  • 创建物理卷:
    1
    2
    pvcreate /dev/sdb
    pvcreate /dev/sdb{1,6}
  • 查看分区表
    1
    lsblk
  • 查看物理卷
    1
    pvdisplay
  • 创建卷组
    1
    2
    vgcreate 卷组名 /dev/sdb
    vgcreate MediaVG /dev/sdb{1,6}
  • 查看卷组
    1
    vgdisplay

创建逻辑卷

  1. 创建逻辑卷
    1
    2
    lvcreate -L 40G -n 逻辑卷名 卷组名
    lvcreate -L 40G -n Mp3LV MediaVG
  2. 创建文件
    1
    mkdir -p /文件名
  3. 创建文件系统
    1
    mkfs.ext4    /dev/卷组名/逻辑卷名
  4. 挂载
    1
    mount /dev/卷组名/逻辑卷名 /挂载点(文件名)
  5. 重启生效配置
    1
    /dev/卷组名/逻辑卷名 /挂载点 ext4 defaults 0 0

使用lvdisplay和lvs查看lv的信息

磁盘配额设置

参考:
Linux下的磁盘配额设置
linux磁盘管理系列一:磁盘配额管理
Linux 磁盘配额 (Quota)

  • quotacheck命令无法创建quota.user,quota.group文件

selinux的影响,关闭selinux即可

1
#setenforce 0

磁盘配额

  1. 建立测试账户和用户组
    1
    2
    3
    4
    5
    useradd x
    useradd w
    groupadd z
    gpasswd -a x -g z
    gpasswd -a w -g z
  2. 打开磁盘的quota功能,用vim编辑/etc/fstab,修改defaults为usrquota,然后重新挂载一次,再使用mount命令可以查看/backup分区已经加上“usrquota,grpquota”
    1
    2
    3
    vim  /etc/fstab 
    mount -o remount /dev/sdb1
    mount
  3. 扫描磁盘的使用者使用情况,并产生重要的aquota.group与aquota.user。quota.group和quota.user分别是组以及用户磁盘配额需要的配置文件,
    如果没有这两个文件,则磁盘配额是不会生效的
    1
    2
    quotacheck -cugm /backup
    ls /backup
  4. 启动quota配额
    1
    quotaon /backup
  5. 编辑用户的磁盘配额(block指定的是block的数量,默认block为4k)
    1
    2
    edquota -u x /backup
    quota -v x
  6. 给指定组shuguo组进行配额
    1
    2
    edquota -g shuguo
    quota -gv shuguo

用非交互的方式完成用户的配额

1
setquota -u[default] |-g  username|groupname 15M 25M 0. 0 /backup

例如

1
2
setquota -u w 15M 25M 0 0 /·backup
repquota -v /backup