首页 > 系统相关 >Linux磁盘

Linux磁盘

时间:2023-12-21 17:58:26浏览次数:42  
标签:文件系统 dev mkfs Linux 磁盘 scsi root localhost

磁盘操作

分区状态查询

lsblk

( list block device ) 列出所有储存设备的意思

[root@localhost dev]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   80G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0  3.9G  0 part [SWAP]
└─sda3   8:3    0 75.9G  0 part /
sr0     11:0    1 1024M  0 rom  
  • NAME:就是设备的文件名啰!会省略 /dev 等前导目录!
  • MAJ:MIN:其实核心认识的设备都是通过这两个代码来熟悉的!分别是主要:次要设备 代码!
  • RM:是否为可卸载设备 (removable device),如光盘、USB 磁盘等等 SIZE:当然就是容量啰!
  • RO:是否为只读设备的意思
  • TYPE:是磁盘 (disk)、分区 (partition) 还是只读存储器 (rom) 等输出
  • MOUTPOINT:挂载点

blkid

列出UUID

[root@localhost dev]# blkid
/dev/sda3: UUID="0a0ee664-ef91-4281-a620-99b12cf52f4a" TYPE="xfs" 
/dev/sda1: UUID="e4224956-8e91-466e-b3a6-b65af7e29c88" TYPE="xfs" 
/dev/sda2: UUID="a90736f6-0884-4785-84ab-ea57abf791b0" TYPE="swap" 

parted

分区类型

[root@localhost dev]# parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system     标志
 1      1049kB  316MB   315MB   primary  xfs             启动
 2      316MB   4477MB  4162MB  primary  linux-swap(v1)
 3      4477MB  85.9GB  81.4GB  primary  xfs

#范例一:列出 /dev/vda 磁盘的相关数据
[root@study ~]# parted /dev/vda print
Model: Virtio Block Device (virtblk) # 磁盘的模块名称(厂商)
Disk /dev/vda: 42.9GB # 磁盘的总容量
Sector size (logical/physical): 512B/512B # 磁盘的每个逻辑/物理扇区容量
Partition Table: gpt # 分区表的格式 (MBR/GPT)
Disk Flags: pmbr_boot

Number   Start 	End 	Size 		File 	system Name Flags # 下面才是分区数据
1 	    1049kB 	3146kB 2097kB 	  bios_grub
2 	 	3146kB 	1077MB 1074MB 	    xfs
3 		1077MB 	33.3GB 32.2GB 	    lvm

分区

要注意的是:MBR 分区表请使用 fdisk 分区, GPT 分区 表请使用 gdisk 分区!

这里我的虚拟机添加了四个硬盘,但是lsblk没有出现。

解决方法是/sys/class/scsi_host/ 执行 echo "- - -" > host0/scan 解决。

[root@localhost dev]# fdisk -l

磁盘 /dev/sda:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c71d6

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448     8744959     4064256   82  Linux swap / Solaris
/dev/sda3         8744960   167772159    79513600   83  Linux
[root@localhost dev]# cd /sys/class/scsi_host
[root@localhost scsi_host]# ls
host0  host1  host2
[root@localhost scsi_host]# echo "- - -" > host0/scan
[root@localhost scsi_host]# fdisk -l
[root@localhost scsi_host]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   80G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0  3.9G  0 part [SWAP]
└─sda3   8:3    0 75.9G  0 part /
sdb      8:16   0   16G  0 disk 
sdc      8:32   0   16G  0 disk 
sdd      8:48   0   16G  0 disk 
sde      8:64   0   16G  0 disk 
sr0     11:0    1 1024M  0 rom  

gdisk

[root@localhost scsi_host]#gdisk 设备名称

[root@localhost scsi_host]# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help):   // 这里可以让你输入指令动作,可以按问号 (?) 来查看可用指令

Command (? for help): ?
b       back up GPT data to a file
c       change a partition's name
d       delete a partition
i       show detailed information on a partition
l       list known partition types
n       add a new partition
o       create a new empty GUID partition table (GPT)
p       print the partition table
q       quit without saving changes
r       recovery and transformation options (experts only)
s       sort partitions
t       change a partition's type code
v       verify disk
w       write table to disk and exit
x       extra functionality (experts only)
?       print this menu

这里常用的是:

  • p : 打印出这个磁盘的分区信息

    Command (? for help): p
    Disk /dev/sdb: 33554432 sectors, 16.0 GiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): 617ABFCC-4E7D-4D6B-8AC0-396387CA9493
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 33554398
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 33554365 sectors (16.0 GiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
    

    Number:分区编号,1 号指的是 /dev/vda1 这样计算。

    Start(sector):每一个分区的开始扇区号码位置

    End(sector):每一个分区的结束扇区号码位置,与 start 之间可以算出分区的总容量

    Size:就是分区的容量了

    Code:在分区内的可能的文件系统类型。Linux 为 8300,swap 为 8200。不过这个项目 只是一个提示而已,不见得真的代表此分区内的文件系统喔!

    Name:文件系统的名称等等。

  • n : 新增分区

  • d : 删除分区

  • q : 退出不保存

  • w : 保存并退出

新增一个磁盘
Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-33554398, default = 2048) or {+-}size{KMGTP}:    #默认按回车就好
Last sector (2048-33554398, default = 33554398) or {+-}size{KMGTP}: +1g  #添加1G,如果默认则是全部用完容量
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):   			#默认按回车是linux文件系统,输入L是显示所有文件信息
Changed type of partition to 'Linux filesystem'

添加完之后打印分区信息:

Command (? for help): p
Disk /dev/sdb: 33554432 sectors, 16.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 617ABFCC-4E7D-4D6B-8AC0-396387CA9493
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 33554398
Partitions will be aligned on 2048-sector boundaries
Total free space is 31457213 sectors (15.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         2099199   1024.0 MiB  8300  Linux filesystem

如果是更改正在使用的磁盘,则 w 保存的时候不会马上更新;有两种方法更新,第一种是重启,第二种是使用partprobe来更新。

[root@study ~]# partprobe -s   //显示显示摘要和分区
删除一个分区:

我这里只有一个分区(改成创建的),就直接删除了那一个,如果有多个会进行选择。

Command (? for help): d
Using 1

Command (? for help):

万分注意!不要去处理一个正在使用中的分区。

fidsk

MBR的最大容量是2TB,在慢慢淘汰。

fdisk 跟 gdisk 使用的方式几乎一样!只是一个使用 ? 作为指令提示数据,一个使用 m 作为提示这样而已。

磁盘格式化

也是创建文件系统

格式化的指令非常的简单,那就是make filesystemmkfs这个指令。

现在我有两个分区磁盘,均为初始化。

[root@localhost scsi_host]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name              标志
 1      1049kB  1074MB  1073MB               Linux filesystem
 2      1075MB  2147MB  1073MB               Linux filesystem

mkfs.xfs

-f 选项来强制覆盖并创建一个 XFS 文件系统,这会清除设备上的所有数据。

[root@localhost scsi_host]# mkfs.xfs /dev/sdb1 
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65472 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=261888, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost scsi_host]# blkid /dev/sdb1
/dev/sdb1: UUID="12e53dd8-982b-4d94-9405-721c1addae8c" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="cb3d364c-ecdf-4f97-b69f-42722a013bdf" 

执行完使用blkid可以发现TYPE变成看了 xsf 了。

[root@localhost scsi_host]# blkid /dev/sdb1
/dev/sdb1: UUID="12e53dd8-982b-4d94-9405-721c1addae8c" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="cb3d364c-ecdf-4f97-b69f-42722a013bdf" 
[root@localhost scsi_host]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name              标志
 1      1049kB  1074MB  1073MB  xfs          Linux filesystem
 2      1075MB  2147MB  1073MB               Linux filesystem

mkfs.ext4

同样的

[root@localhost scsi_host]# mkfs.ext4 /dev/sdb2 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 261888 blocks
13094 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost scsi_host]# parted /dev/sdb print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name              标志
 1      1049kB  1074MB  1073MB  xfs          Linux filesystem
 2      1075MB  2147MB  1073MB  ext4         Linux filesystem

mkfs

mkfs 其实是个综合指令而已,当我们使用 mkfs -t xfs 时,它就会跑去找 mkfs.xfs 相关的参数 给我们使用! 如果想要知道系统还支持哪种文件系统的格式化功能,直接按 [tabl] 就很清楚 了!

[root@localhost scsi_host]# mkfs
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat    

mke2fs

创建磁盘分区上的“etc2/etc3”文件系统

mke2fs /dev/hda1

卷标

比如这有题:使用mkfs为一个现有的分区赋予一个卷标DATA,使用e2label为一个现有的分区显示和设置新卷标DATA2。

使用

mkfs -L DATA /dev/sdb1
e2label /dev/sdb2 DATA2

mkfs

设置前:

[root@localhost scsi_host]# blkid /dev/sdb1
/dev/sdb1: UUID="12e53dd8-982b-4d94-9405-721c1addae8c" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="cb3d364c-ecdf-4f97-b69f-42722a013bdf" 

设置后:

[root@localhost scsi_host]# mkfs -L DATA /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=DATA
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 261888 blocks
13094 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成

[root@localhost scsi_host]# blkid /dev/sdb1
/dev/sdb1: LABEL="DATA" UUID="ce95c48c-82f9-4b27-9854-a6cccc667382" TYPE="ext2" PARTLABEL="Linux filesystem" PARTUUID="cb3d364c-ecdf-4f97-b69f-42722a013bdf" 

e2label

[root@localhost scsi_host]# e2label /dev/sdb2 DATA2
[root@localhost scsi_host]# blkid /dev/sdb2
/dev/sdb2: LABEL="DATA2" UUID="f2ec44b4-b0c6-4d35-a453-a4e7697a97b0" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="acc4b809-5974-4ee0-a130-3fc47505a608" 

可以发现多出了 LABEL 标签。

文件系统检验和统计

wipefs`

可以用来清除磁盘或分区上的文件系统或签名信息。

wipefs -a /dev/sdb
[root@localhost tmp]# wipefs -a /dev/sdb
/dev/sdb:4 个字节已擦除,位置偏移为 0x00001000 (linux_raid_member):fc 4e 2b a9
/dev/sdb:8 个字节已擦除,位置偏移为 0x3fffffe00 (gpt):45 46 49 20 50 41 52 54
/dev/sdb:2 个字节已擦除,位置偏移为 0x000001fe (PMBR):55 aa
/dev/sdb: calling ioclt to re-read partition table: 成功
[root@localhost tmp]# wipefs -a /dev/sdc
/dev/sdc:4 个字节已擦除,位置偏移为 0x00001000 (linux_raid_member):fc 4e 2b a9
[root@localhost tmp]# wipefs -a /dev/sdd
/dev/sdd:4 个字节已擦除,位置偏移为 0x00001000 (linux_raid_member):fc 4e 2b a9

xfs_repair

当有 xfs 文件系统错乱才需要使用这个指令.

[root@study ~]# xfs_repair [-fnd] 设备名称
选项与参数:
-f :后面的设备其实是个文件而不是实体设备
-n :单纯检查并不修改文件系统的任何数据 (检查而已)
-d :通常用在单人维护模式下面,针对根目录 (/) 进行检查与修复的动作!很危险!不要随便使用

fsck

linux的文件系统损坏会导致linux不正常关机,出错的时候如果系统告诉你是哪一块硬盘的分区有问题,比如是/dev/hda2,接着用如下的命令去对付它:

fsck -y /dev/hda2

如果不知道哪里的问题直接执行fsck

tune2fs

tune2fs 是一个 Linux 命令行工具,用于调整 ext2、ext3 或 ext4 文件系统的参数和属性。它允许你修改文件系统的各种设置,例如更改文件系统的 UUID、标签、最大挂载次数、检查间隔等。

一些常见的 tune2fs 命令示例包括:

  • 更改文件系统标签sudo tune2fs -L NEW_LABEL /dev/sdXY
  • 更改最大挂载次数sudo tune2fs -c MAX_MOUNT_COUNT /dev/sdXY
  • 更改检查间隔sudo tune2fs -i INTERVAL /dev/sdXY
  • 显示文件系统信息sudo tune2fs -l /dev/sdXY

df

列出文件系统的整体磁盘使用量

df 显示整个文件系统的总体情况,而 du 则显示指定文件或目录的磁盘使用情况的详细信息。

[root@study ~]# df [-ahikHTm] [目录或文件名]
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :连同该 partition 的 filesystem 名称 (例如 xfs) 也列出;
-i :不用磁盘容量,而以 inode 的数量来显示

将 /etc 下面的可用的磁盘容量以易读的容量格式显示

[root@study ~]# df -h /etc
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 10G 3.3G 6.8G 33% /
# 这个范例比较有趣一点啦,在 df 后面加上目录或者是文件时, df
# 会自动的分析该目录或文件所在的 partition ,并将该 partition 的容量显示出来,
# 所以,您就可以知道某个目录下面还有多少容量可以使用了! ^_^

du

评估文件系统的磁盘使用量(常用在推估目录所占容量)

直接输入 du 没有加任何选项时,则 du 会分析目前所在目录

[root@study ~]# du [-ahskm] 文件或目录名称
选项与参数:
-a :列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

挂载操作

挂载

挂载点是目录, 而这个目录是进入磁盘分区 (其实是文件系统啦!)的入口就。

  • 单一文件系统不应该被重复挂载在不同的挂载点(目录)中;
  • 单一目录不应该重复挂载多个文件系统;
  • 要作为挂载点的目录,理论上应该都是空目录才是。

如果你要用来挂载的目录里面并不是空的,那么挂载了文件系统之 后,原目录下的东西就会暂时的消失。

挂载使用的指令是mount,单纯的输入 mount 会显示目前挂载的信息。

/dev/sdb1 挂在 /tmp/file 之下。

[root@localhost scsi_host]# mkdir /tmp/file1
[root@localhost scsi_host]# mount /dev/sdb1 /tmp/file1/

也可以使用 UUID 来挂载

[root@localhost scsi_host]mount UUID="e0a6af55-26e7-4cb7-a515-826a8bd29e90" /data/xfs

mount --bind 的功能,可以将某个目录挂载到其他目录去。

[root@localhost scsi_host]mount --bind /var /data/var

/data/var 就是进入 /var 的意思

卸载

[root@study ~]# umount [-fn] 设备文件名或挂载点
选项与参数:
-f :强制卸载!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
-l :立刻卸载文件系统,比 -f 还强!
-n :不更新 /etc/mtab 情况下卸载。

光盘挂载

[root@study ~]# blkid
.....(前面省略).....
/dev/sr0: UUID="2015-04-01-00-21-36-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
[root@study ~]# mkdir /data/cdrom
[root@study ~]# mount /dev/sr0 /data/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@study ~]# df /data/cdrom
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sr0 7413478 7413478 0 100% /data/cdrom
# 怎么会使用掉 100% 呢?是啊!因为是 DVD 啊!所以无法再写入了啊!

自动挂载

/etc/fstab中配置文件自动挂载。

<设备> <挂载点> <文件系统类型> <挂载选项> <备份频率> <自检顺序>
  • <设备>:指定要挂载的设备或分区,可以是设备名(如 /dev/sda1)或 UUID。
  • <挂载点>:指定挂载的目标目录。
  • <文件系统类型>:文件系统类型,比如 ext4ntfs 等。
  • <挂载选项>:挂载选项,比如 defaultsnoautororw 等。
  • <备份频率>:用于 dump 命令的备份频率设置。
  • <自检顺序>:用于 fsck 命令的自检顺序设置。

示例:

UUID=12345678-9abc-def0-1234-56789abcdef0 /mnt/data ext4 defaults 0 2

这个示例将文件系统的 UUID 为 12345678-9abc-def0-1234-56789abcdef0 的分区挂载到 /mnt/data 目录上,文件系统类型为 ext4,使用默认挂载选项,并在备份和自检时按照约定的频率执行。

RAID磁盘阵列

RAID 0(条带化存储)

RAID 0连续以位或字节为单位进行分割数据,将数据分段存储在各个硬盘中,n块硬盘并行读/写数据,因此具有很高的数据传输率,可以达到单个硬盘的N倍,但它没有数据冗余;分散的存储在两个磁盘上。

特点:
(1)最少需要两块磁盘

(2)数据条带分布式

(3)没有冗余,性能最佳(不存储镜像、校验信息)

(4)不能应用于对数据安全性要求高的场合

RAID 1(镜像存储)

通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据;在一个磁盘上存储,另一个磁盘备份。

特点:
(1)最少需要两块磁盘

(2)提供数据冗余(提供备份)

(3)性能好

(4)N(偶数)块硬盘组成镜像,容量为N/2

RAID 5

  • N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
  • N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高;
  • (N-1) /N磁盘利用率(有一块是用来校验的);
  • 可靠性高,允许坏1块盘,不影响所有数据

特点:

(1)最少3块磁盘

(2)数据条带形式分布

(3)以奇偶校验作冗余

(4)适合多读少写的情景,是性能与数据冗余最佳的折中方案

mdadm

使用 mdadm 来构建磁盘阵列。

安装:

yum install -y mdadm
创建 RAID1

使用 mdadm 命令创建 RAID1

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

这里 /dev/md0 是你将要创建的 RAID1 设备名称,--level=1 表示 RAID1 级别,--raid-devices=2 表示两个磁盘。

查看RAID状态:使用 cat /proc/mdstat 来检查 RAID 创建状态,确保 RAID1 创建成功。

格式化RAID1:使用 mkfs 命令格式化 /dev/md0

创建 RAID5
sudo mdadm --create /dev/md1 --level=5 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

这里 /dev/md1 是你将要创建的 RAID5 设备名称,--level=5 表示 RAID5 级别,--raid-devices=4 表示四个磁盘。

查看RAID状态:使用 cat /proc/mdstat 来检查 RAID 创建状态,确保 RAID5 创建成功。

格式化RAID5:使用 mkfs 命令格式化 /dev/md1

挂载RAID5:创建一个目录,例如 /mnt/raid5,并将 RAID5 挂载到这个目录上。

对于删除操作,你可以使用 mdadm --stop /dev/mdX 命令停止 RAID 设备,然后使用 mdadm --zero-superblock 清除 RAID 元数据信息,最后使用 mdadm --remove 移除要删除的 RAID 设备。

LVM卷

识别新添加的硬盘:使用 lsblkfdisk -l 确认新添加的硬盘设备,例如 /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 等。

创建物理卷(Physical Volumes,PV):将这四个硬盘设备转换为 LVM 物理卷:

[root@localhost tmp]# pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
  Physical volume "/dev/sde" successfully created.

如果出现 Device /dev/sdb excluded by a filter.则使用wipefs -a /dev/sdb进行清理。

这将把 /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 四个设备创建为 LVM 物理卷。

创建卷组(Volume Group,VG):使用 vgcreate 命令创建一个卷组并将这四个物理卷添加到卷组中:

[root@localhost ~]# vgcreate my_vg /dev/sdb /dev/sdc /dev/sdd /dev/sde
  Volume group "my_vg" successfully created

这个例子中,my_vg 是卷组的名称,/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde 是你创建的物理卷路径。

创建逻辑卷(Logical Volume,LV):使用 lvcreate 命令创建一个逻辑卷,它将位于卷组内:

[root@localhost ~]# lvcreate -n my_lv -l 100%FREE my_vg
Logical volume "my_lv" created.

这个命令创建了一个名为 my_lv,占用所有可用空间的逻辑卷,位于 my_vg 卷组内。

格式化逻辑卷:使用 mkfs 命令对逻辑卷进行格式化,例如:

[root@localhost ~]# mkfs.ext4 /dev/my_vg/my_lv
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4194304 inodes, 16773120 blocks
838656 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2164260864
512 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   

这个例子中使用了 ext4 文件系统进行格式化,你可以根据需要选择其他文件系统类型。

挂载逻辑卷:创建一个目录并将逻辑卷挂载到这个目录:

mkdir /mnt/my_mount_point
mount /dev/my_vg/my_lv /mnt/my_mount_point

以上命令将逻辑卷挂载到 /mnt/my_mount_point 目录上。需要注意,这只是一个临时挂载点示例,你可以选择其他挂载点。

这些步骤将四个硬盘创建为一个 LVM 卷:它们被转换为物理卷,然后被组合到一个卷组中,并在卷组内创建了一个占用所有可用空间的逻辑卷,最后被格式化并挂载到指定的目录。请根据实际需求调整参数。

标签:文件系统,dev,mkfs,Linux,磁盘,scsi,root,localhost
From: https://www.cnblogs.com/qianyuzz/p/17919743.html

相关文章

  • linux 的别名功能alias
    环境centos7.9介绍Alias是Linux系统中一个非常有用的命令,它可以为常用的命令或复杂的命令序列创建别名。通过使用alias,我们可以简化命令的输入,提高工作效率。使用在~/.bashrc或~/.bash_profile文件中添加以下新行,保存后source下查看当前已设置的别名alias设置单个命令......
  • Capture a TCP dump from a Linux node in an AKS cluster
    https://learn.microsoft.com/en-us/troubleshoot/azure/azure-kubernetes/capture-tcp-dump-linux-node-akshttps://learn.microsoft.com/en-us/azure/aks/node-access#create-an-interactive-shell-connection-to-a-linux-nodekubectlgetnodes-owidekubectldebugno......
  • protobuf、protobuf-c、protobuf-c-rpc在Linux(Ubuntu18.04)编译安装及交叉编译arm\aar
    protobuf、protobuf-c、protobuf-c-rpc在Linux(Ubuntu18.04)编译安装及交叉编译arm\aarch64版本文章目录protobuf、protobuf-c、protobuf-c-rpc在Linux(Ubuntu18.04)编译安装及交叉编译arm\aarch64版本一、前言二、protobuf、rpc、protobuf-c、protobuf-c-rpc介绍1、protobuf2、protob......
  • linux 安装 redis
    一、通用方式要在Linux上安装Redis,可以按照以下步骤进行操作:1.打开终端,使用以下命令下载Redis的压缩包: wgethttp://download.redis.io/releases/redis-x.x.x.tar.gz注意将"x.x.x"替换为你想要下载的Redis版本号。2.解压下载的压缩包:tarxzfredis-x.x.x.tar.gz进入......
  • 记录 | linux安装onnx2trt
    linux安装onnx2trt的方法#下载gitclone--recursivehttps://github.com/onnx/onnx-tensorrt.git#查看分支gittag#切换分支,与tensorRT版本一致gitcheckoutrelease/8.2-GA#或者直接下载https://codeload.github.com/onnx/onnx-tensorrt/zip/refs/heads/8.2-G......
  • 一文聊透 Linux 缺页异常的处理 —— 图解 Page Faults
    本文基于内核5.4版本源码讨论在前面两篇介绍mmap的文章中,笔者分别从原理角度以及源码实现角度带着大家深入到内核世界深度揭秘了mmap内存映射的本质。从整个mmap映射的过程可以看出,内核只是在进程的虚拟地址空间中寻找出一段空闲的虚拟内存区域vma然后分配给本次映射......
  • java基础之“获取系统类型,区分Windows和Linux系统”
    一、获取系统类型,区分Windows和Linux系统//判断是否是windows系统System.getProperties().getProperty("os.name").contains("Windows") 二、案例@TestpublicvoidtestWindows(){Stringproperty=System.getProperties().getProperty("os.name");......
  • vmware虚拟机 linux 本地yum源,网卡配置ens33,防火墙selinux
    1、挂载镜像文件,CentOS-7-x86_64-DVD-1804.iso,并且要处于连接状态#光盘挂载至/mntmount/dev/sr0/mnt#备份yum源文件cd/etc/yum.repos.d/mkdir-p./bakmvCentOS*./bak#编缉本地源vimlocal.repo[centos7]name=CentOS7baseurl=file:///mntenable=1gpgcheck=0 关闭防......
  • Linux环境离线安装Docker&Docker镜像部署
    引子相信很多同学在项目上线的时候都会遇到没有网络的情况。一般而言,我们都会想到使用Docker镜像部署,让我们看看搜索引擎给出来Docker的优势吧(如下图)。那么,问题来了,本身部署环境都没有网络,怎么离线安装Docker呢?怎么使用Docker镜像部署项目?OK,让我们开始吧。一、CenterOS7.0......
  • Linux服务器快速安装Redis-6.0
    最近开始体验FastGPT开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到Redis,就在自己服务器上进行了安装,特此记录下。环境说明:阿里云ECS,2核8G,X86架构,CentOS7.9操作系统。选择版本1.打开Redis官网下载页面,可以选择需要的版本下载。我这里选择的是6.2.14版本......