Linux分区、挂载、配额、逻辑卷、RAID、系统综合状态查看

分区与挂载

fdisk
  • fdisk 命令是一个用于磁盘分区管理的命令行工具,可以用来创建、删除、调整分区等操作。常用的 fdisk 命令选项包括:
fdisk -l:列出系统中的所有磁盘分区信息。
fdisk /dev/sdX:打开指定磁盘进行分区操作。
n:创建新分区。
d:删除分区。
p:显示分区表。
w:保存并退出。
mount
  • mount 命令用于将文件系统挂载到指定的挂载点上,使得文件系统中的内容可以被访问。常用的 mount 命令选项包括:
mount /dev/sdX /mnt:将设备 /dev/sdX 挂载到挂载点 /mnt。
mount -t ext4 /dev/sdX /mnt:指定文件系统类型为 ext4 进行挂载。
mount -o remount,rw /mnt:重新挂载为可读写模式。
umount /mnt:卸载挂载点 /mnt。

临时挂载和配置文件挂载

临时挂载

临时挂载是指在当前系统会话中手动挂载文件系统,挂载的效果仅在当前系统重启前有效。临时挂载通常用于临时需要访问某个文件系统或临时调试的情况。以下是临时挂载的步骤:

  1. 创建挂载点:在系统中选择一个目录作为挂载点,例如 /mnt

    sudo mkdir /mnt/mydrive
    
  2. 挂载文件系统:使用 mount 命令将文件系统挂载到指定的挂载点上。

    sudo mount /dev/sdX1 /mnt/mydrive
    
  3. 访问文件系统:挂载完成后,您可以通过挂载点 /mnt/mydrive 访问文件系统中的内容。

配置文件挂载

配置文件挂载是指在系统启动时自动挂载文件系统,通过编辑配置文件实现。配置文件挂载可以确保文件系统在系统启动时自动挂载,提高系统的稳定性和可靠性。以下是配置文件挂载的步骤:

  1. 编辑 /etc/fstab 文件:打开 /etc/fstab 文件,添加需要挂载的文件系统信息。

    sudo nano /etc/fstab
    
  2. 添加挂载信息:在 /etc/fstab 文件中添加需要挂载的文件系统信息,包括设备、挂载点、文件系统类型和挂载选项。

    /dev/sdX1   /mnt/mydrive   ext4   defaults   0   0
    
  3. 重新挂载文件系统:可以手动重新挂载所有在 /etc/fstab 中定义的文件系统,或者重启系统使配置生效。

    sudo mount -a
    

通过配置文件挂载,可以实现系统启动时自动挂载文件系统,避免手动操作,提高系统的自动化程度。

总结

  • 临时挂载:手动挂载文件系统,在当前系统会话中有效。
  • 配置文件挂载:通过编辑 /etc/fstab 文件实现系统启动时自动挂载文件系统。

希望这些信息对您详细介绍了临时挂载和配置文件挂载的过程。如果您有任何其他问题或需要进一步了解,请随时提出。

mkfs 命令 用于格式化分区并创建文件系统。

mkfs 命令用于创建文件系统。它可以将指定的分区格式化为特定类型的文件系统。常用的 mkfs 命令选项包括:

  1. 创建 ext4 文件系统

    mkfs.ext4 /dev/sdX1
    
  2. 创建 xfs 文件系统

    mkfs.xfs /dev/sdX1
    
  3. 创建 FAT32 文件系统

    mkfs.vfat /dev/sdX1
    
  4. 创建其他类型的文件系统:可以使用 mkfs 命令的其他变体(如 mkfs.btrfsmkfs.ntfs 等)来创建不同类型的文件系统。

parted 命令 用于管理磁盘分区,包括创建、删除和调整分区。

parted 命令是一个用于管理磁盘分区的工具,支持更复杂的分区操作。常用的 parted 命令选项包括:

  1. 启动 parted

    parted /dev/sdX
    
  2. 显示分区表

    (parted) print
    
  3. 创建新分区

    (parted) mkpart primary ext4 1MiB 100MiB
    
  4. 删除分区

    (parted) rm 1
    
  5. 调整分区大小

    (parted) resizepart 1 200MiB
    
  6. 设置分区标志

    (parted) set 1 boot on
    

分区和挂载磁盘配额

磁盘配额(Disk Quota)是用于限制用户或用户组在文件系统中使用的磁盘空间的机制。通过设置磁盘配额,可以有效管理磁盘资源,防止某个用户或用户组占用过多的磁盘空间。以下是设置和管理磁盘配额的步骤:

1. 启用配额支持

在挂载文件系统时,需要启用配额支持。可以通过编辑 /etc/fstab 文件来实现。

  • 打开 /etc/fstab 文件:

    sudo nano /etc/fstab
    
  • 在需要启用配额的文件系统挂载选项中添加 usrquota 和/或 grpquota,例如:

    /dev/sdX1   /mnt/mydrive   ext4   defaults,usrquota,grpquota   0   0
    
2. 重新挂载文件系统

修改完 /etc/fstab 后,需要重新挂载文件系统以使配额设置生效:

sudo mount -o remount /mnt/mydrive
3. 创建配额数据库

使用 quotacheck 命令创建配额数据库文件:

sudo quotacheck -cug /mnt/mydrive
  • -c:创建配额文件。
  • -u:检查用户配额。
  • -g:检查组配额。
4. 启用配额

使用 quotaon 命令启用配额:

sudo quotaon /mnt/mydrive
5. 设置配额

使用 edquota 命令为特定用户设置配额:

sudo edquota username

这将打开一个编辑器,您可以在其中设置软限制和硬限制:

  • 软限制:用户可以超过此限制,但会收到警告。
  • 硬限制:用户不能超过此限制。
6. 查看配额

使用 quota 命令查看用户的配额使用情况:

quota -u username
7. 取消配额

如果需要取消配额,可以使用 quotaoff 命令:

sudo quotaoff /mnt/mydrive
例子
xfs_quota -x -c 'report --ugibh' /mnt/disk1

这条命令用于生成指定路径 /mnt/disk1 下的磁盘配额报告。
-x 选项表示以扩展格式显示报告。
-c ‘report --ugibh’ 表示执行 report 命令,并使用 --ugibh 选项指定显示用户(u)、组(g)、inode(i)、块(b)和文件硬链接(h)的配额信息。

xfs_quota -x -c 'limit -u isoft=5 ihard=10 user1' /mnt/disk1

这条命令用于为用户 user1 设置磁盘配额限制。
-x 选项表示以扩展格式显示报告。
-c ‘limit -u isoft=5 ihard=10 user1’ 表示执行 limit 命令,设置用户 user1 的软限制(isoft=5)和硬限制(ihard=10)。
isoft=5 表示软限制为 5 个文件或目录。
ihard=10 表示硬限制为 10 个文件或目录。

扩充swap空间

使用一个分区扩充 Swap 分区:
  1. 创建一个文件用于扩充 Swap 分区

    sudo fallocate -l 1G /path/to/new_swapfile
    
  2. 将文件设置为 Swap 文件

    sudo mkswap /path/to/new_swapfile
    
  3. 启用新的 Swap 文件

    sudo swapon /path/to/new_swapfile
    
  4. 永久配置新的 Swap 文件

    • /etc/fstab 文件中添加以下行:
      /path/to/new_swapfile none swap sw 0 0
      
  5. 重新加载 Swap 配置

    sudo swapon -a
    
使用一个分区扩充 Swap 分区:
  1. 创建一个分区,例如 /dev/sdX2

  2. 将分区设置为 Swap 分区

    sudo mkswap /dev/sdX2
    
  3. 启用新的 Swap 分区

    sudo swapon /dev/sdX2
    
  4. 永久配置新的 Swap 分区

    • /etc/fstab 文件中添加以下行:
      /dev/sdX2 none swap sw 0 0
      
  5. 重新加载 Swap 配置

    sudo swapon -a
    

配置文件中设置 Swap 分区:

  • 编辑 /etc/fstab 文件

    • 打开 /etc/fstab 文件:
      sudo nano /etc/fstab
      
    • 添加 Swap 分区或文件的配置信息,例如:
      /path/to/new_swapfile none swap sw 0 0
      或
      /dev/sdX2 none swap sw 0 0
      
  • 重新加载 Swap 配置

    sudo swapon -a
    

fstab的含义

/etc/fstab 是 Linux 系统中的一个配置文件,用于定义文件系统的挂载信息。在 /etc/fstab 文件中,每一行都描述了一个文件系统的挂载信息,包括设备、挂载点、文件系统类型、挂载选项、备份频率和其他信息。以下是 /etc/fstab 文件中常见字段的含义:

  1. 设备(Device):指定要挂载的设备或分区的路径,可以是设备文件(如 /dev/sda1)或 UUID。

  2. 挂载点(Mount Point):指定文件系统挂载的目标目录,即文件系统将被挂载到哪个位置。

  3. 文件系统类型(File System Type):指定文件系统的类型,如 ext4、xfs、ntfs 等。

  4. 挂载选项(Mount Options):指定文件系统的挂载选项,如读写权限、自动挂载、不允许执行等。

  5. 备份频率(Dump):用于指定文件系统备份工具 dump 的备份频率,通常设置为 0 表示不备份。

  6. 文件系统检查顺序(Fsck Order):用于指定文件系统检查工具 fsck 的检查顺序,通常设置为 0 表示不检查。

一个典型的 /etc/fstab 文件示例可能如下所示:

/dev/sda1   /       ext4    defaults    0   1
/dev/sdb1   /data   xfs     defaults    0   2
UUID=1234-5678   /mnt/external   vfat    defaults    0   0

在这个示例中:

  • /dev/sda1 是设备路径,挂载到根目录 /,文件系统类型为 ext4,使用默认挂载选项。
  • /dev/sdb1 是设备路径,挂载到 /data 目录,文件系统类型为 xfs,使用默认挂载选项,备份频率为 2。
  • UUID=1234-5678 是设备的 UUID,挂载到 /mnt/external 目录,文件系统类型为 vfat,使用默认挂载选项,不进行备份。

RAID

RAID(Redundant Array of Independent Disks)是一种通过将多个磁盘组合在一起来提高数据存储性能、容量和冗余度的技术。RAID 可以提供数据冗余、提高读写性能或同时实现两者的优势。以下是常见的 RAID 级别和其特点:

  1. RAID 0

    • 条带化(Striping):数据被分割成块并分布在多个磁盘上,提高读写性能。
    • 无冗余:没有数据冗余备份,一块磁盘损坏会导致数据丢失。
    • 适用性:适合需要高性能而不需要数据冗余的场景。
  2. RAID 1

    • 镜像(Mirroring):数据被同时写入两个磁盘,提供数据冗余备份。
    • 读性能:读性能较好,写性能略低。
    • 适用性:适合需要数据冗余备份的场景。
  3. RAID 5

    • 条带化和分布式奇偶校验:数据和奇偶校验信息分布在多个磁盘上,提供数据冗余和读写性能。
    • 容错性:可以容忍一块磁盘损坏,数据可恢复。
    • 适用性:适合中等性能要求和数据冗余备份的场景。
  4. RAID 6

    • 双分布式奇偶校验:比 RAID 5 多一个奇偶校验盘,可以容忍两块磁盘损坏。
    • 更高容错性:可以容忍多块磁盘损坏,数据可恢复。
    • 适用性:适合对数据安全性要求较高的场景。
  5. RAID 10(也称为 RAID 1+0):

    • 镜像和条带化:将多组磁盘进行镜像,然后对镜像组进行条带化。
    • 性能和容错性:提供较高的读写性能和数据冗余备份。
    • 适用性:适合对性能和数据冗余都有要求的场景。

使用mdadm命令用软件实现RAID

mdadm 是 Linux 系统中用于管理软件 RAID 的工具。以下是使用 mdadm 命令创建和管理软件 RAID 的基本步骤:

1. 安装 mdadm

在大多数 Linux 发行版中,可以通过包管理器安装 mdadm

# 对于 Debian/Ubuntu
sudo apt-get install mdadm

# 对于 CentOS/RHEL
sudo yum install mdadm

2. 创建 RAID

以下是创建不同类型 RAID 的示例命令:

创建 RAID 0
sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1
创建 RAID 1
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
创建 RAID 5
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
mdadm -D md0  # 可以查看raid磁盘信息
创建 RAID 6
sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

3. 查看 RAID 状态

cat /proc/mdstat

4. 停止 RAID

sudo mdadm --stop /dev/md0

5. 删除 RAID

sudo mdadm --remove /dev/md0

6. 保存 RAID 配置

为了在系统重启时自动加载 RAID,可以将 RAID 配置保存到 /etc/mdadm/mdadm.conf

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

然后更新 initramfs:

sudo update-initramfs -u

7. 创建文件系统

在 RAID 设备上创建文件系统:

sudo mkfs.ext4 /dev/md0

8. 挂载 RAID

创建挂载点并挂载 RAID 设备:

sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid

9. 在 /etc/fstab 中添加挂载信息

为了在启动时自动挂载 RAID,可以在 /etc/fstab 中添加以下行:

/dev/md0   /mnt/raid   ext4   defaults   0   0
例子
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc1

这条命令的含义是创建一个 RAID 等级为 1(镜像)的软件 RAID 设备 /dev/md0,由两个磁盘组成,分别是 /dev/sdb 和 /dev/sdc1。 RAID 1 提供数据镜像,即数据会同时写入两个磁盘,提供数据冗余备份。

  • 添加到配置文件
    在这里插入图片描述
    这组命令的作用是创建一个 XFS 文件系统的软件 RAID 设备,并将其配置保存到 /etc/mdadm.conf 文件中。以下是每条命令的解释:
  1. dd if=/dev/zero of=/dev/sdc bs=4M count=1

    • 该命令的作用是向 /dev/sdc 磁盘写入一个大小为 4MB 的零填充数据。
    • 这个步骤通常用于清除磁盘上的数据或元数据,以便后续创建 RAID。
  2. echo DEVICE /dev/sd[b,c]1

    • 这条命令输出了 /dev/sdb1/dev/sdc1,指示这两个分区将被用于创建 RAID。
  3. echo DEVICE /dev/sd[b,c]1 >> /etc/mdadm.conf

    • 将上述输出追加到 /etc/mdadm.conf 文件中,用于指定 RAID 设备的配置。
  4. mdadm -Evs >> /etc/mdadm.conf

    • 该命令用于将当前系统中的 RAID 设备信息追加到 /etc/mdadm.conf 文件中,以便在系统重启后重新加载 RAID。
  5. mkfs.xfs /dev/md0

    • 这条命令用于在 /dev/md0 上创建 XFS 文件系统,准备将其用作软件 RAID 设备的文件系统。

逻辑卷LVM

物理卷和逻辑卷

物理卷(Physical Volume)

  • 物理卷是 LVM 中的基本存储单元,通常对应于一个磁盘分区或整个硬盘。
  • 物理卷是通过 LVM 标记和管理的磁盘空间,可以将一个或多个物理卷组合成一个卷组(Volume Group)。
  • 物理卷上的数据是以物理块(Physical Extents)的形式存储的,这些物理块组成了卷组的基本存储单元。

逻辑卷(Logical Volume)

  • 逻辑卷是由卷组中的物理卷分配的虚拟磁盘空间,类似于传统的磁盘分区,但更加灵活和可调整。
  • 逻辑卷可以动态调整大小,而无需重新分区或重新格式化磁盘。
  • 逻辑卷上的数据是以逻辑块(Logical Extents)的形式存储的,逻辑块可以映射到物理卷上的物理块。
简单的介绍

当您使用 LVM 管理存储时,通常会从物理卷开始构建分区、创建文件系统,最后挂载到系统中。以下是一步步的详细说明:

步骤一:创建物理卷(Physical Volume)
  1. 使用 pvcreate 命令将一个磁盘分区或整个硬盘标记为 LVM 可管理的物理卷。
    sudo pvcreate /dev/sdb
    
步骤二:创建卷组(Volume Group)
  1. 使用 vgcreate 命令创建一个新的卷组,并将物理卷添加到该卷组中。
    sudo vgcreate myvg /dev/sdb
    
步骤三:创建逻辑卷(Logical Volume)
  1. 使用 lvcreate 命令在卷组中创建一个逻辑卷,并指定逻辑卷的大小。
    sudo lvcreate -L 10G -n mylv myvg
    
步骤四:创建文件系统
  1. 使用适当的工具(如 mkfs.ext4mkfs.xfs)在逻辑卷上创建文件系统。
    sudo mkfs.ext4 /dev/myvg/mylv
    
步骤五:挂载文件系统
  1. 创建一个目录作为挂载点,然后将文件系统挂载到该目录。
    sudo mkdir /mnt/mydata
    sudo mount /dev/myvg/mylv /mnt/mydata
    
步骤六:自动挂载
  1. 如果需要在系统启动时自动挂载文件系统,可以将其添加到 /etc/fstab 文件中。
    echo "/dev/myvg/mylv /mnt/mydata ext4 defaults 0 0" | sudo tee -a /etc/fstab
    
命令介绍

以下是对在上述例子中使用的 LVM 命令的详细解释:

  1. pvcreate /dev/sdb

    • pvcreate 命令用于创建物理卷,将指定的磁盘分区或整个硬盘标记为 LVM 可管理的物理卷。
    • 在这个例子中,我们将硬盘 /dev/sdb 标记为物理卷,以便将其用于后续的卷组创建。
  2. pvs

    • pvs 命令用于显示系统中所有物理卷的信息,包括物理卷的名称、大小、空闲空间等。
    • 运行此命令后,您将看到有关系统中所有物理卷的详细信息,以便了解它们的状态和使用情况。
  3. vgcreate myvg /dev/sdb

    • vgcreate 命令用于创建一个新的卷组,并将一个或多个物理卷添加到该卷组中。
    • 在这个例子中,我们创建了一个名为 myvg 的卷组,并将物理卷 /dev/sdb 添加到该卷组中。
  4. vgs

    • vgs 命令用于显示系统中所有卷组的信息,包括卷组的名称、物理卷数量、逻辑卷数量等。

扩充逻辑分区

扩展逻辑卷:
  1. 扩展逻辑卷大小

    • 使用 lvextend 命令来扩展逻辑卷的大小。例如,将逻辑卷 mylv 扩展 5GB:
      sudo lvextend -L +5G /dev/myvg/mylv
      
  2. 扩展文件系统

    • 如果您使用的是 ext4 或 xfs 文件系统,需要使用相应的工具来扩展文件系统。例如,对 ext4 文件系统:
      sudo resize2fs /dev/myvg/mylv
      
缩减逻辑卷:
  1. 缩减文件系统

    • 首先,缩减文件系统以释放空间。对于 ext4 文件系统,可以使用以下命令:
      sudo resize2fs /dev/myvg/mylv 10G
      
  2. 缩减逻辑卷大小

    • 使用 lvreduce 命令来缩减逻辑卷的大小。例如,将逻辑卷 mylv 缩减至 10GB:
      sudo lvreduce -L 10G /dev/myvg/mylv
      
文件系统扩大

对逻辑卷进行扩展时,相应的文件系统也需要进行扩展以利用新增的空间。否则df -h命令不会显示分区扩大。

对 ext4 文件系统扩展:

  1. 扩展 ext4 文件系统
    • 使用 resize2fs 命令来扩展 ext4 文件系统。确保在扩展逻辑卷后执行此步骤。
      sudo resize2fs /dev/myvg/mylv
      

对 xfs 文件系统扩展:

  1. 扩展 xfs 文件系统
    • 使用 xfs_growfs 命令来扩展 xfs 文件系统。确保在扩展逻辑卷后执行此步骤。
      sudo xfs_growfs /mnt/mydata
      

系统综合状态查看命令

sar

sar 命令是 System Activity Reporter 的缩写,用于收集、报告和存储系统的性能数据。通过 sar 命令,您可以查看系统的 CPU 使用率、内存使用情况、磁盘活动、网络流量等信息。

基本用法:
  1. 查看系统整体性能

    • 使用 sar 命令可以查看系统的整体性能数据,默认情况下显示当前日期的系统活动摘要。
    • 例如,运行 sar 命令会显示系统的平均负载、CPU 使用率、内存使用情况等信息。
  2. 指定时间间隔和次数

    • 您可以使用 -n 参数指定输出数据的时间间隔(秒)和次数。
    • 例如,sar -n ALL 1 5 表示每秒输出一次系统性能数据,共输出 5 次。
常用选项:
  1. CPU 相关

    • -u:显示 CPU 使用率。
    • -P ALL:显示每个 CPU 的使用率。
  2. 内存相关

    • -r:显示内存使用情况。
  3. 磁盘相关

    • -b:显示磁盘 I/O 统计信息。
  4. 网络相关

    • -n DEV:显示网络接口的统计信息。
高级选项:
  1. 输出到文件

    • 使用 -o 参数将 sar 输出保存到文件中,以便后续分析。
  2. 指定时间范围

    • 使用 -s-e 参数指定开始时间和结束时间,以查看特定时间范围内的系统性能数据。
  3. 查看历史数据

    • 使用 -f 参数指定历史数据文件,可以查看以前收集的 sar 数据。
常用命令

要查询系统的综合状态,您可以使用一系列命令来获取有关系统资源、进程、网络连接等方面的信息。

  1. 查看系统负载

    • 使用 uptime 命令可以查看系统的平均负载以及系统运行时间。
    • 使用 tophtop 命令可以实时查看系统的负载情况、进程信息等。
  2. 查看内存使用情况

    • 使用 free -h 命令可以查看系统的内存使用情况。
    • 使用 tophtop 命令也可以查看内存使用情况。
  3. 查看磁盘空间

    • 使用 df -h 命令可以查看系统的磁盘空间使用情况。
    • 使用 du -h 命令可以查看指定目录的磁盘使用情况。
  4. 查看网络连接

    • 使用 netstat 命令可以查看系统的网络连接情况。
    • 使用 ss 命令也可以查看网络连接信息。
  5. 查看进程信息

    • 使用 ps aux 命令可以查看系统的进程信息。
    • 使用 tophtop 命令可以实时查看系统的进程信息。
  6. 查看日志信息

    • 使用 journalctl 命令可以查看系统日志信息。
    • 使用 dmesg 命令可以查看内核日志信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远歌已逝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值