磁盘操作
分区状态查询
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 filesystem
,mkfs
这个指令。
现在我有两个分区磁盘,均为初始化。
[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。<挂载点>
:指定挂载的目标目录。<文件系统类型>
:文件系统类型,比如ext4
、ntfs
等。<挂载选项>
:挂载选项,比如defaults
、noauto
、ro
、rw
等。<备份频率>
:用于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卷
识别新添加的硬盘:使用 lsblk
或 fdisk -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