CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)
1、挂载fat或者fat32分区的U盘
如果是用VM安装的linux,在vm里挂载U盘有两个前提:
第一,主机里的service要启动:
第二,U盘是连接到虚拟机,而不是主机,需要确认这点:
2、使用fdisk命令先检查一下U盘是否已经加载
fdisk -l
设备/dev/sdb1 就是插入的U盘,FAT32分区
加载: [root@bigdata-senior01 ~]# ll /mnt/usb 总用量 0 [root@bigdata-senior01 ~]# mount /dev/sdb1 /mnt/usb [root@bigdata-senior01 ~]# ll /mnt/usb 总用量 760 -rwxr-xr-x 1 root root 34494 1月 2 01:22 autorun.ico -rwxr-xr-x 1 root root 236 1月 2 01:22 autorun.inf -rwxr-xr-x 1 root root 14 1月 2 00:50 CentOS_BuildTag ... ...
用df命令可以再检查一下: [root@bigdata-senior01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 17G 4.2G 13G 25% / devtmpfs 901M 0 901M 0% /dev tmpfs 912M 0 912M 0% /dev/shm tmpfs 912M 8.6M 904M 1% /run tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 1014M 143M 872M 15% /boot tmpfs 183M 0 183M 0% /run/user/1004 /dev/sdb1 15G 4.2G 11G 30% /mnt/usb
当不再使用U盘的时候,需要卸载设备 [root@bigdata-senior01 ~]# umount /dev/sdb1 [root@bigdata-senior01 ~]# ll /mnt/usb 总用量 0
2、挂载NTFS分区的U盘
2.1、安装NTFS-3G
CentOS默认情况下并不识别NTFS分区格式,需要使用一个开源的软件来支持。NTFS-3G 是一个开源的软件,可以实现 Linux、Free BSD、Mac OSX、NetBSD 和 Haiku 等操作系统中的 NTFS 读写支持。它可以安全且快速地读写 Windows 系统的 NTFS 分区,而不用担心数据丢失。
自带的yum源没有这个软件,要用第三方的软件源,这里采用阿里的epel。
[root@bigdata-senior01 ~]# cd /etc/yum.repos.d/ [root@bigdata-senior01 yum.repos.d]# wget http://mirrors.aliyun.com/repo/epel-7.repo yum -y install ntfs-3g
安装NTFS-3G后,使用fdisk -l才能看到ntfs格式的u盘
这个U盘,是一个通用PE制作的启动U盘,被分成了两个分区,启动分区是FAT16,另外数据分区是NTFS,这里需要加载/dev/sdb1
挂载NTFS格式U盘 [root@bigdata-senior01 yum.repos.d]# ll /mnt/usb 总用量 0 [root@bigdata-senior01 yum.repos.d]# mount -t ntfs-3g /dev/sdb1 /mnt/usb The disk contains an unclean file system (0, 0). The file system wasn't safely closed on Windows. Fixing. [root@bigdata-senior01 yum.repos.d]# ll /mnt/usb 总用量 0 drwxrwxrwx 1 root root 0 1月 9 09:54 backup drwxrwxrwx 1 root root 0 1月 1 22:37 GHO drwxrwxrwx 1 root root 0 1月 9 09:53 System Volume Information 参数-t ntfs-3g是可以省略的。CentOS7以后可以自动识别。
[root@bigdata-senior01 yum.repos.d]# umount /dev/sdb1
[root@bigdata-senior01 yum.repos.d]# ll /mnt/usb
总用量 0
[root@bigdata-senior01 yum.repos.d]# mount /dev/sdb1 /mnt/usb
[root@bigdata-senior01 yum.repos.d]# ll /mnt/usb
总用量 0
drwxrwxrwx 1 root root 0 1月 9 09:54 backup
drwxrwxrwx 1 root root 0 1月 1 22:37 GHO
drwxrwxrwx 1 root root 0 1月 9 09:53 System Volume Information
3、挂载一块新硬盘
3.1、物理设备命名规则
在 Linux 系统中一切都是文件,硬件设备也不例外。系统内核中的 udev 设备管理器会自动把硬件名称规范起来。
目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;这对于陌生的设备来说特别方便。
另外,udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。
常见的设备: IDE设备 /dev/hd[a-d] SCSI/SATA/U盘 /dev/sd[a-p] 软驱 /dev/fd[0-1] 打印机 /dev/lp[0-15] 光驱 /dev/cdrom 鼠标 /dev/mouse 磁带机 /dev/st0 或/dev/ht0
系统采用 a~p 来代表 16 块不同的硬盘(默认从 a 开始分配)。 硬盘的分区编号: 1) 主分区或扩展分区的编号从 1 开始,到 4 结束; 2) 逻辑分区从编号 5 开始
/dev/sda 表示第一块硬盘,这是由系统内核的识别顺序来决定的,和设备主板的插槽顺序没有完全一致的对应关系。
/dev/sda1 表示第一块硬盘的分区编号为1的分区,这个编号一般是顺延,但是可以手动指定,所以1号分区不一定就是在最前。
3.2、主分区、逻辑分区
硬盘设备是由大量的扇区组成的,每个扇区的容量为 512 字节。
其中第一个扇区最重要,它里面保存着主引导记录(Master boot record,MBR)与分区表信息。
就第一个扇区来讲,主引导记录需要占用 446 字节,分区表为 64 字节,结束符占用 2 字节;
其中分区表中每记录一个分区信息就需要 16 字节,这样一来最多只有64/16= 4 个分区,只有4个分区信息可以写到第一个扇区中,这 4 个分区就是4个主分区。
第一个扇区最多只能创建出 4 个分区。了解决分区个数不够的问题,将第一个扇区的分区表中 16 字节(属于主分区信息)的空间拿出来指向另外一个分区。
扩展分区其实并不是一个真正的分区,而像是一个占用 16 字节分区表空间的指针,一个指向另外一个分区的指针,这是一个单向链表结构。
这样一来,用户一般会选择使用 3 个主分区加 1 个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,从而来满足大于4多分区的需求。
一般情况下:主分区为sda1,sda2,sda3,如果有sda4,那么就没有逻辑分区。如果需要逻辑分区,那么sda4将会空出来,逻辑分区会从sda5开始计算。
3.3 开始挂载新硬盘
如果是在vm中加载新硬盘,停止vm后编辑虚拟机,点击新增,按缺省的添加一块scsi的20g硬盘。
从上面的知识,挂载的新硬盘是第二块硬盘,设备应该是/dev/sdb
1)先用fdisk -l命令查看是否有新的硬盘被识别。
2)开始分区:
fdisk命令在指定硬盘名称后会进入交互命令模式,根据提示按m键可以查看所有可用命令参数。
[root@bigdata-senior01 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xfe9194c7 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):m 命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) 命令(输入 m 获取帮助): #输入n来创建分区,因为是一个新的硬盘,我们直接创建主分区 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G 分区 1 已设置为 Linux 类型,大小设为 2 GiB 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 #上面,我们分了一个主分区,然后大小为2g,最后用w命令写入变更。 #查看新的分区是否有效 [root@bigdata-senior01 ~]# file /dev/sdb1 /dev/sdb1: block special #这说明已经生效,如果出现 /dev/sdb1: cannot open (No such file or directory) 那么需要执行partprobe命令进行内核通知,或者重启系统。
3)开始格式化:
#打mkfs后,按两下tab键补全命令后,可以看到可以使用的格式化命令 #将/dev/sdb1格式化成xfs格式,这个是CentOS7新的格式 [root@bigdata-senior01 ~]# mkfs mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs [root@bigdata-senior01 ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131072 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=524288, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
4)开始挂载
[root@bigdata-senior01 ~]# mount /dev/sdb1 /backup [root@bigdata-senior01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 17G 4.2G 13G 25% / devtmpfs 901M 0 901M 0% /dev tmpfs 912M 0 912M 0% /dev/shm tmpfs 912M 8.6M 904M 1% /run tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 1014M 143M 872M 15% /boot tmpfs 183M 0 183M 0% /run/user/1004 /dev/sdb1 2.0G 33M 2.0G 2% /backup #备份/etc目录文件到/backup/etc_backup [root@bigdata-senior01 /]# cp -R /etc/* /backup/etc_backup/
[root@bigdata-senior01 /]# du -sh /backup/etc_backup/
34M /backup/etc_backup/
5)永久挂载
[root@bigdata-senior01 /]# vi /etc/fstab # # /etc/fstab # Created by anaconda on Sun Apr 29 17:25:33 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=fa75616e-a122-4c73-9fd4-b1d50a4af91a /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 /dev/sdb1 /backup xfs defaults 0 0
6)查看是否分区已经格式化
如果分区没有格式化,是无法挂载的,通过命令blkid可以查看格式化信息
[root@bigdata-senior01 /]# blkid /dev/sda1: UUID="fa75616e-a122-4c73-9fd4-b1d50a4af91a" TYPE="xfs" /dev/sda2: UUID="LeV3fD-l62t-F4Gl-Tybf-HC2m-ki71-byH5cc" TYPE="LVM2_member" /dev/sdb1: UUID="32eb878b-3d7a-450e-9668-0f65c2be7d05" TYPE="xfs" /dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" /dev/mapper/centos-root: UUID="07a00359-cd62-458a-a150-f2d4a367abe3" TYPE="xfs" /dev/mapper/centos-swap: UUID="49c39eb4-4181-4c37-947c-2dc6311fbeea" TYPE="swap"
4、添加交换分区
4.1、查看目前的交换分区情况
[es@bigdata-senior01 ~]$ swapon -s 文件名 类型 大小 已用 权限 /dev/dm-1 partition 2097148 0 -1 #查看/etc/fstab里自动挂载的情况 [es@bigdata-senior01 dev]$ cat /etc/fstab # # /etc/fstab # Created by anaconda on Sun Apr 29 17:25:33 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=fa75616e-a122-4c73-9fd4-b1d50a4af91a /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 /dev/sdb1 /backup xfs defaults xfs 0 0 #发现/dev/mapper/centos-swap是交换分区,有点不对,再查看 [es@bigdata-senior01 ~]$ ll /dev/mapper 总用量 0 lrwxrwxrwx 1 root root 7 1月 15 09:57 centos-root -> ../dm-0 lrwxrwxrwx 1 root root 7 1月 15 09:57 centos-swap -> ../dm-1 crw------- 1 root root 10, 236 1月 15 09:57 control #原来/dev/mapper/centos-swap是链接到/dev/dm-1,这就和swapon -s命令的结果对上了,但是/dev/dm-1又是什么呢,它不是一个分区设备文件,但是属于块文件。 #CentOS可以使用文件作为交换分区,也可以使用一个分区作为交换分区,所以/dev/dm-1是一个分区文件。
4.2 、添加交换分区
[root@bigdata-senior01 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfe9194c7 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux 命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p 分区号 (2-4,默认 2):2 起始 扇区 (4196352-41943039,默认为 4196352): 将使用默认值 4196352 Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+3G 分区 2 已设置为 Linux 类型,大小设为 3 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfe9194c7 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 10487807 3145728 83 Linux 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) 正在同步磁盘。 [root@bigdata-senior01 ~]# file /dev/sdb2 /dev/sdb2: cannot open (No such file or directory) [root@bigdata-senior01 ~]# partprobe Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。 [root@bigdata-senior01 ~]# file /devsdb2 /devsdb2: cannot open (No such file or directory)
[root@bigdata-senior01 ~]# partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@bigdata-senior01 ~]# file /dev/sdb2
/dev/sdb2: block special
#使用blkid命令查看一下分区的格式化信息
[root@bigdata-senior01 ~]# blkid
/dev/sda1: UUID="fa75616e-a122-4c73-9fd4-b1d50a4af91a" TYPE="xfs"
/dev/sda2: UUID="LeV3fD-l62t-F4Gl-Tybf-HC2m-ki71-byH5cc" TYPE="LVM2_member"
/dev/sdb1: UUID="32eb878b-3d7a-450e-9668-0f65c2be7d05" TYPE="xfs"
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="07a00359-cd62-458a-a150-f2d4a367abe3" TYPE="xfs"
/dev/mapper/centos-swap: UUID="49c39eb4-4181-4c37-947c-2dc6311fbeea" TYPE="swap"
#发现/dev/sdb2没有格式化,使用 SWAP 分区专用的格式化命令 mkswap,对新建的主分区进行格式化操作
[root@bigdata-senior01 ~]# mk
mkdict mkfifo mkfs.btrfs mkfs.ext4 mkinitrd mktemp
mkdir mkfontdir mkfs.cramfs mkfs.minix mklost+found
mkdumprd mkfontscale mkfs.ext2 mkfs.xfs mknod
mke2fs mkfs mkfs.ext3 mkhomedir_helper mkswap
[root@bigdata-senior01 ~]# mkswap /dev/sdb2
正在设置交换空间版本 1,大小 = 3145724 KiB
无标签,UUID=a0971ea7-e603-40b3-94ff-88f82389717a
#查看一下格式化后的情况
[root@bigdata-senior01 ~]# blkid
/dev/sda1: UUID="fa75616e-a122-4c73-9fd4-b1d50a4af91a" TYPE="xfs"
/dev/sda2: UUID="LeV3fD-l62t-F4Gl-Tybf-HC2m-ki71-byH5cc" TYPE="LVM2_member"
/dev/sdb1: UUID="32eb878b-3d7a-450e-9668-0f65c2be7d05" TYPE="xfs"
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="07a00359-cd62-458a-a150-f2d4a367abe3" TYPE="xfs"
/dev/mapper/centos-swap: UUID="49c39eb4-4181-4c37-947c-2dc6311fbeea" TYPE="swap"
/dev/sdb2: UUID="a0971ea7-e603-40b3-94ff-88f82389717a" TYPE="swap"
#挂载到系统上
[root@bigdata-senior01 ~]# swapon /dev/sdb2
#查看交换分区情况,从2g->5g
[root@bigdata-senior01 ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 171M 1.3G 8.6M 269M 1.4G
Swap: 5.0G 0B 5.0G
[root@bigdata-senior01 ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 0 -1
/dev/sdb2 partition 3145724 0 -2
#永久挂载交换分区
[root@bigdata-senior01 ~]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Apr 29 17:25:33 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=fa75616e-a122-4c73-9fd4-b1d50a4af91a /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /backup xfs defaults 0 0
/dev/sdb2 swap swap defaults 0 0
4.3、用文件作为交换分区
1)创建要作为swap分区的文件: 增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。 # dd if=/dev/zero of=/root/swapfile bs=1M count=1024 2)格式化为交换分区文件: # mkswap /root/swapfile #建立swap的文件系统 3)启用交换分区文件: # swapon /root/swapfile #启用swap文件 4)使系统开机时自启用,在文件/etc/fstab中添加一行: /root/swapfile swap swap defaults 0 0 5)关闭交换分区swapoff /root/swapfile
5、总结几个查看磁盘情况的命令
fdisk -l #查看系统当下挂载磁盘情况 fdisk /dev/sdb #对为sdb磁盘分区 mkfs.xfs /dev/sdb1 #格式化sdb1分区 mkswap /dev/sdb2 #格式化为交换分区 blkid #查看磁盘情况 lsblk #查看分区和磁盘 cfdisk /dev/sda #查看分区、操作分区、格式化分区等 df -hT #查看分区挂载、容量等 du -sh /backup #统计当前目录各文件夹大小
6、根分区空间不足,如何扩展,将上例剩余的分区全部用于扩展根分区
[root@bigdata-senior01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 17G 4.2G 13G 25% / devtmpfs 901M 0 901M 0% /dev tmpfs 912M 0 912M 0% /dev/shm tmpfs 912M 8.6M 904M 1% /run tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 1014M 143M 872M 15% /boot /dev/sdb1 2.0G 67M 2.0G 4% /backup tmpfs 183M 0 183M 0% /run/user/1004
6.1、将/dev/sdb剩余空间全部使用分区成LVM分区
[root@bigdata-senior01 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfe9194c7 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 10487807 3145728 83 Linux 命令(输入 m 获取帮助):n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p 分区号 (3,4,默认 3):3 起始 扇区 (10487808-41943039,默认为 10487808): 将使用默认值 10487808 Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039): 将使用默认值 41943039 分区 3 已设置为 Linux 类型,大小设为 15 GiB 命令(输入 m 获取帮助):t #修改分区 分区号 (1-3,默认 3):3 Hex 代码(输入 L 列出所有代码):L 0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris 1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx 5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据 6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具 8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt 9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问 a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC 11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要 16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动 1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep 1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT 1e 隐藏的 W95 FAT1 80 旧 Minix Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfe9194c7 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 10487807 3145728 83 Linux /dev/sdb3 10487808 41943039 15727616 8e Linux LVM 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) 正在同步磁盘。 [root@bigdata-senior01 ~]# file /dev/sdb3 /dev/sdb3: cannot open (No such file or directory) [root@bigdata-senior01 ~]# partprobe Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。 [root@bigdata-senior01 ~]# file /dev/sdb3 /dev/sdb3: block special
6.2、创建物理卷
[root@bigdata-senior01 ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000af76c 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xfe9194c7 设备 Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 83 Linux /dev/sdb2 4196352 10487807 3145728 83 Linux /dev/sdb3 10487808 41943039 15727616 8e Linux LVM 磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 [root@bigdata-senior01 ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created.
6.3、扩展卷组
[root@bigdata-senior01 ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name centos #卷组名 PV Size <19.00 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 4863 Free PE 0 Allocated PE 4863 PV UUID LeV3fD-l62t-F4Gl-Tybf-HC2m-ki71-byH5cc "/dev/sdb3" is a new physical volume of "<15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb3 VG Name PV Size <15.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Wgpb02-82cG-b8Ft-V38g-QPwW-5TL0-XgRqLJ [root@bigdata-senior01 ~]# vgextend centos /dev/sdb3 #将新的物理卷加入到卷组中(vg=centos) Volume group "centos" successfully extended [root@bigdata-senior01 ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 33.99 GiB PE Size 4.00 MiB Total PE 8702 Alloc PE / Size 4863 / <19.00 GiB Free PE / Size 3839 / <15.00 GiB #空余的加入了 VG UUID Gzx0ol-t83a-Sfq3-ydPQ-Kddb-2ry6-71u7Ih
6.4、扩展逻辑卷
[root@bigdata-senior01 ~]# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID sKV6uz-b4Zh-gf5W-x09d-HaX1-Up0X-rdvYeg LV Write Access read/write LV Creation host, time localhost, 2018-04-29 17:25:31 +0800 LV Status available # open 2 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID 81HqZi-xFgr-Z9a6-jX5p-KVI6-Oahi-JXNEoT LV Write Access read/write LV Creation host, time localhost, 2018-04-29 17:25:32 +0800 LV Status available # open 1 LV Size <17.00 GiB Current LE 4351 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 [root@bigdata-senior01 ~]# lvextend -l +100%free /dev/mapper/centos-root Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to 31.99 GiB (8190 extents). Logical volume centos/root successfully resized. [root@bigdata-senior01 ~]# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID sKV6uz-b4Zh-gf5W-x09d-HaX1-Up0X-rdvYeg LV Write Access read/write LV Creation host, time localhost, 2018-04-29 17:25:31 +0800 LV Status available # open 2 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID 81HqZi-xFgr-Z9a6-jX5p-KVI6-Oahi-JXNEoT LV Write Access read/write LV Creation host, time localhost, 2018-04-29 17:25:32 +0800 LV Status available # open 1 LV Size 31.99 GiB Current LE 8190 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
#检查一下分区文件系统
[root@bigdata-senior01 ~]# blkid /dev/mapper/centos-root
/dev/mapper/centos-root: UUID="07a00359-cd62-458a-a150-f2d4a367abe3" TYPE="xfs"
#使用xfs分区扩展命令扩展xfs分区系统,ext4分区使用resize2fs命令
[root@bigdata-senior01 ~]# xfs_growfs /dev/mapper/centos- centos-root centos-swap [root@bigdata-senior01 ~]# xfs_growfs /dev/mapper/centos-root #ext4用resize2fs meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1113856 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=4455424, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 4455424 to 8386560 [root@bigdata-senior01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 32G 4.2G 28G 13% / devtmpfs 901M 0 901M 0% /dev tmpfs 912M 0 912M 0% /dev/shm tmpfs 912M 8.6M 904M 1% /run tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 1014M 143M 872M 15% /boot /dev/sdb1 2.0G 67M 2.0G 4% /backup tmpfs 183M 0 183M 0% /run/user/1004
17+15=32,扩展完成。
警告:在生产环境中,尽量不要把其他块硬盘扩充到根里,每加一块硬盘到根目录相当于增加了50%硬盘故障风险,得不偿失。目前在xfs分区格式下,文件系统无法缩小,
如果第二块硬盘损坏,可能会导致整个系统的崩溃,解决起来也非常麻烦。
6.5、总结一下扩展卷
1)fdisk /dev/sdb 分区,设置成LVM分区格式,使用partprobe,确保分区有效 2)pvcreate /dev/sdb3,创建物理卷 3)vgextend VolGroup /dev/sdb3,扩展卷组 4)lvextend -l +100%free /dev/mapper/centos-root,扩展逻辑卷 5)xfs_growfs /dev/mapper/centos-root,扩展文件系统 6)df -h,检查是否扩展完成