0
点赞
收藏
分享

微信扫一扫

YOLOv9最新改进系列:YOLOv9融合BoTNet模块,融合CNN+自然语言处理技术的优势,有效提升检测效果!

诗远 04-12 09:30 阅读 2

文章目录

linux 磁盘阵列知识积累

配置RAID方案

在Linux中配置RAID

  1. 安装mdadm工具:mdadm是管理Linux软件RAID的标准工具。首先,需要确保已经安装了它。在基于Debian的系统上,可以使用sudo apt-get install mdadm命令安装。对于基于RPM的系统,使用sudo yum install mdadm。
  2. 创建RAID阵列:使用mdadm命令创建RAID阵列。

例如,要创建一个RAID 1阵列,使用以下命令:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
  1. 格式化和挂载RAID设备:创建RAID后,您需要格式化RAID设备,然后挂载它以便使用。

例如:

sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/raid

在其他设备上配置RAID

在非Linux系统或硬件RAID中,配置步骤会有所不同。通常,硬件RAID通过在启动时进入RAID卡的配置界面来设置。对于其他操作系统(如Windows),您可能需要使用特定的管理工具或控制面板选项来配置RAID。

确认是什么RAID级别

在Linux中,您可以使用以下命令来确认RAID级别:

cat /proc/mdstat

mdadm --detail /dev/md0

cat /proc/mdstat 输出示例

Personalities : [raid1] [raid6] [raid5] [raid4] 
md0 : active raid1 sda1[0] sdb1[1]
      1953382464 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>

mdadm --detail /dev/md0输出示例

/dev/md0:
           Version : 1.2
     Creation Time : Sun Apr  4 12:34:56 2021
        Raid Level : raid1
        Array Size : 1953382464 (1862.89 GiB 2000.26 GB)
     Used Dev Size : 1953382464 (1862.89 GiB 2000.26 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu Apr 11 15:00:01 2024
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

              Name : hostname:0  (local to host hostname)
              UUID : a1b2c3d4:e5f6g7h8:i9j0k1l2:m3n4o5p6
            Events : 12345

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sda1
       1       8       33        1      active sync   /dev/sdb1

如何确认设备是否做了RAID

  1. 在Linux中:使用上述cat /proc/mdstat或mdadm --detail /dev/md0命令不仅可以查看RAID级别,还可以确认是否配置了RAID。
  2. 在Windows中:可以通过“磁盘管理”工具查看磁盘配置情况,如果有RAID配置,通常会显示为动态磁盘或者有相关的RAID标识。
  3. 在BIOS/UEFI中:对于硬件RAID,通常需要在计算机启动时进入BIOS/UEFI设置界面,在那里可以查看和配置RAID设置。

其他方式

fdisk

fdisk -l(其中-l是小写的L)命令确实可以在Linux中用来查看所有已连接存储设备的分区情况,包括硬盘驱动器、固态驱动器以及设置为RAID的设备。它主要用于显示分区信息,而不直接显示RAID配置详情。

使用fdisk -l查看RAID情况

当您运行fdisk -l时,如果系统中配置了软件RAID,您可能会看到类型为“Linux raid auto”的分区,这表明这些分区被用作RAID设备的一部分。例如:

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048 1953523711 1953521664  931G fd Linux raid autodetect
/dev/sdb1          2048 1953523711 1953521664  931G fd Linux raid autodetect

使用限制

fdisk -l能提供一定的信息,但它不会告诉RAID的级别(如RAID 0、RAID 1等),也不会提供关于RAID阵列当前状态的详细信息。

对于这些更具体的信息,需要使用专门的工具,如:

  1. mdadm:对于软件RAID,mdadm --detail /dev/mdX(其中/dev/mdX是您的RAID设备)将提供关于特定RAID阵列的详细信息,包括其级别、状态、参与的设备等。
  2. 硬件RAID管理工具:对于硬件RAID,通常需要使用特定于制造商的管理软件或固件界面来查看和管理RAID配置。

lsblk

  • lsblk(列出块设备)是一个列出所有可用块设备的命令,包括它们的挂载点和分区。它提供了一个很好的设备层次结构视图,可以帮助识别哪些设备是RAID阵列的一部分。
  • 使用示例
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,TYPE
  • 输出结果示例
NAME   FSTYPE     SIZE MOUNTPOINT TYPE
sda             931.5G            disk
├─sda1 ext4       500M /boot      part
├─sda2             1G [SWAP]      part
└─sda3 ext4     930G   /          part
sdb             931.5G            disk
├─sdb1             931.5G            part
md0    ext4       931G            raid1

parted

  • parted是一个功能强大的磁盘分区和管理工具,可以用来创建、调整、复制和删除硬盘驱动器上的分区。
  • 使用示例:运行sudo parted -l可以列出所有磁盘的分区表,包括RAID设备。
sudo parted -l
  • 输出结果示例
Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  538MB   537MB   fat32        EFI System Partition  boot, esp
 2      538MB   1000GB  999GB   ext4         Linux filesystem

Model: Linux Software RAID Array (md)
Disk /dev/md0: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  2000GB  2000GB  ext4

lshw

  • lshw(硬件列表)是一个显示你的系统硬件配置的工具,对于识别与RAID相关的硬件信息特别有用。
  • 使用示例:sudo lshw -class disk -class storage可以显示存储设备和控制器的信息。
sudo lshw -class disk -class storage
  • 输出结果示例
  *-storage
       description: SATA controller
       product: 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller
       vendor: Intel Corporation
       physical id: 1f.2
       bus info: pci@0000:00:1f.2
       logical name: scsi0
       logical name: scsi1
       version: 05
       width: 32 bits
       clock: 66MHz
       capabilities: storage ahci_1.0 emulated
       configuration: driver=ahci latency=0
       resources: irq:27 ioport:f0d0(size=8) ioport:f0c0(size=4) ioport:f0b0(size=8) ioport:f0a0(size=4) ioport:f060(size=32) memory:f7c06000-f7c067ff

  *-disk
       description: ATA Disk
       product: SSDSC2BW240A3L
       vendor: Intel
       physical id: 0.0.0
       bus info: scsi@0:0.0.0
       logical name: /dev/sda
       version: DC32
       serial: XXXXXXXX
       size: 223GiB (240GB)
       capabilities: partitioned partitioned:dos
       configuration: ansiversion=5 logicalsectorsize=512 sectorsize=512 signature=000beef1

  *-disk
       description: ATA Disk
       product: WDC WD10EZEX-08M2NA0
       vendor: Western Digital
       physical id: 0.1.0
       bus info: scsi@1:0.0.0
       logical name: /dev/sdb
       version: 1A01
       serial: XXXXXXXX
       size: 931GiB (1TB)
       capabilities: gpt-1.00 partitioned partitioned:gpt
       configuration: ansiversion=5 guid=XXXXXXXX logicalsectorsize=512 sectorsize=512

lsscsi

  • lsscsi列出SCSI设备(或ATA/ATAPI设备)的信息,可以用来识别连接到系统的所有SCSI/ATA设备,包括RAID控制器。
  • 使用示例:简单地运行lsscsi可以列出所有SCSI设备。
lsscsi
  • 输出结果示例
[0:0:0:0]    disk    ATA      Samsung SSD 850  2B6Q  /dev/sda 
[1:0:0:0]    cd/dvd  HL-DT-ST DVDRAM GH24NSC0  LK00  /dev/sr0 
[2:2:0:0]    disk    LSI      MR9271-4i        3.24  /dev/sdb 
[2:2:1:0]    disk    LSI      MR9271-4i        3.24  /dev/sdc 

smartctl

  • smartctl是SMART硬盘监控分析和报告工具的一部分,用于打印磁盘健康状况、测试等。它对于检查RAID阵列中磁盘的健康状态非常有用。
  • 使用示例:sudo smartctl -a /dev/sda显示指定硬盘的所有SMART信息,包括健康状态。
sudo smartctl -a /dev/sda
  • 输出结果示例
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   083   064   006    Pre-fail  Always       -       124345
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       8854
...
SMART Overall-Health Self-Assessment Test result: PASSED

blkid

  • blkid命令用于查找/打印块设备的UUID、文件系统类型等属性。
  • 使用示例:运行sudo blkid可以显示系统中所有块设备的UUID和文件系统类型,包括RAID分区。
sudo blkid
  • 输出结果示例
/dev/sda1: UUID="5f96cafa-e0a7-4a4c-b9a2-2b3e5c8a9676" TYPE="ext4" PARTUUID="00b204d0-01"
/dev/sda2: UUID="I9MkHV-vgN8-Jik6-LAts-Hien-jvge-Q2fCtR" TYPE="LVM2_member" PARTUUID="00b204d0-02"
/dev/mapper/ubuntu--vg-root: UUID="b3f9bc2a-88cb-45f2-b77e-2c37t4e4f6a7" TYPE="ext4"
/dev/mapper/ubuntu--vg-swap_1: UUID="3d3961b4-6e64-4c9d-a8d5-ffd3badb9d0d" TYPE="swap"

不同命令使用场景

1.fdisk

  • 使用场景:fdisk主要用于磁盘分区。当你需要创建新的分区、删除旧的分区或者查看磁盘分区表时,fdisk是一个非常合适的工具。它支持MBR(主引导记录)分区表。
  • 示例场景:安装新硬盘后,使用fdisk来初始化硬盘并创建分区。

2.mdadm

  • 使用场景:mdadm是管理Linux软件RAID的工具。当你需要创建、监控、管理或故障排除软件RAID阵列时,这个工具非常有用。
  • 示例场景:创建一个RAID 5阵列以提高数据冗余和读取性能;或者当一个RAID阵列的一个磁盘发生故障时,使用mdadm来添加替换磁盘并重建数据。

3.lsblk

  • 使用场景:lsblk用于列出所有可用的块设备信息,包括它们的挂载点和分区。这对于快速查看系统中的磁盘和分区结构非常有用。
  • 示例场景:在挂载新硬盘之前,确认硬盘的设备名称(如/dev/sdb)。

4.parted

  • 使用场景:parted是一个功能强大的磁盘分区和管理工具,支持大于2TB的磁盘和GPT(GUID分区表)。当你需要处理大容量磁盘或需要GPT分区表时,这个工具比fdisk更合适。
  • 示例场景:在一块大于2TB的新硬盘上创建GPT分区。

5.lshw

  • 使用场景:lshw用于显示系统的硬件配置信息。当你需要详细了解系统中各个硬件组件的信息时,这个命令非常有用。
  • 示例场景:在购买二手服务器之前,检查其硬件配置以确保所有组件都符合预期。

6.sscsi

  • 使用场景:lsscsi用于列出系统中所有SCSI设备的信息。这对于识别和管理SCSI设备特别有用,例如硬盘、固态硬盘和光驱。
  • 示例场景:确认新安装的SCSI硬盘是否被系统识别。

7.smartctl

  • 使用场景:smartctl用于检查和监控存储设备(如硬盘和固态硬盘)的健康状况。当你需要预防性地监控存储设备的健康状态,以避免数据丢失时,这个工具非常有用。
  • 示例场景:定期检查服务器上硬盘的健康状态,及时发现潜在的硬盘故障。

8.blkid

  • 使用场景:blkid用于查找和打印块设备的UUID、文件系统类型等属性。当你需要在脚本中自动挂载磁盘或在/etc/fstab文件中指定挂载点时,这个命令非常有用。
    命令非常有用。
  • 示例场景:在购买二手服务器之前,检查其硬件配置以确保所有组件都符合预期。

6.sscsi

  • 使用场景:lsscsi用于列出系统中所有SCSI设备的信息。这对于识别和管理SCSI设备特别有用,例如硬盘、固态硬盘和光驱。
  • 示例场景:确认新安装的SCSI硬盘是否被系统识别。

7.smartctl

  • 使用场景:smartctl用于检查和监控存储设备(如硬盘和固态硬盘)的健康状况。当你需要预防性地监控存储设备的健康状态,以避免数据丢失时,这个工具非常有用。
  • 示例场景:定期检查服务器上硬盘的健康状态,及时发现潜在的硬盘故障。

8.blkid

  • 使用场景:blkid用于查找和打印块设备的UUID、文件系统类型等属性。当你需要在脚本中自动挂载磁盘或在/etc/fstab文件中指定挂载点时,这个命令非常有用。
  • 示例场景:在系统启动时自动挂载一个外部USB驱动器,通过其UUID来确保正确识别和挂载。
举报

相关推荐

0 条评论