• linux下安装大于2T硬盘,并分区替换现有mysql数据目录挂载点实现扩容


    一、服务器现有2块300G硬盘做RAID1容量为300G,其中200G挂载到/home下

    [root@localhost ~]# lsblk
    NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda               8:0    0 278.9G  0 disk 
    ├─sda1            8:1    0     1G  0 part /boot
    └─sda2            8:2    0 277.9G  0 part 
      ├─centos-root 253:0    0    50G  0 lvm  /
      ├─centos-swap 253:1    0  15.7G  0 lvm  [SWAP]
      └─centos-home 253:2    0 212.2G  0 lvm  /home
    sr0              11:0    1  1024M  0 rom  
    [root@localhost ~]# 

    /home目录下存放mysql数据文件,需要扩容。方案如下:

    1、增加3块2T硬盘做RAID5,容量为4T,大于2T的硬盘做分区需要使用GPT分区,而不能使用普通的MBR分区

    2、在根目录下创建一个临时目录:/datatemp,将4T硬盘挂载到、/datatemp下

    3、将/home下的所有数据复制到/datatemp下

    4、停止mysqld服务,并将/home挂载点卸载

    5、将/datatemp挂载点卸载

    6、将4T硬盘挂载到/home下,并将mysql数据目录授权给mysql用户

    7、重启mysqld服务

    8、将原来的212G硬盘挂载到其他挂载点使用

    二、插入新硬盘,并作RAID,进入系统

    查看硬盘

    [root@localhost ~]# lsblk
    NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda               8:0    0 278.9G  0 disk 
    ├─sda1            8:1    0     1G  0 part /boot
    └─sda2            8:2    0 277.9G  0 part 
      ├─centos-root 253:0    0    50G  0 lvm  /
      ├─centos-swap 253:1    0  15.7G  0 lvm  [SWAP]
      └─centos-home 253:2    0 212.2G  0 lvm  /home
    sdb               8:16   0   3.7T  0 disk 
    sr0              11:0    1  1024M  0 rom  
    [root@localhost ~]# 

    可以看到/dev/sdb为新增加的3.7T硬盘

    三、使用parted进行分区

    [root@localhost ~]# parted /dev/sdb
    GNU Parted 3.1
    使用 /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt
    (parted) unit TB                                                          
    (parted) mkpart primary 0 3
    (parted) print                                                            
    Model: DELL PERC H710 (scsi)
    Disk /dev/sdb: 4.00TB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start   End     Size    File system  Name     标志
     1      0.00TB  3.00TB  3.00TB               primary

    parted /dev/sdb  对/dev/sdb硬盘进行gpt分区

    mklabel gpt   创建gpt分区

    unit TB   设置分区大小单位为TB

    mkpart primary 0 3   创建主分区,大小从0开始到3,因为单位是TB,所以就是3TB

    print   打印当前GPT分区信息

    如果发现分区不合适,可以删除分区

    rm 1 即可删除number=1分区

    (parted) rm 1                                                             
    (parted) print                                                            
    Model: DELL PERC H710 (scsi)
    Disk /dev/sdb: 4.00TB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start  End  Size  File system  Name  标志
    
    (parted)                                              

    这里看到刚才创建的分区没有了,我们重新分区分区大小为4TB

    [root@localhost ~]# parted /dev/sdb
    GNU Parted 3.1
    使用 /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt                                                      
    警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?/Yes/否/No? y                                                           
    (parted) unit TB                                                          
    (parted) mkpart primary 0 4                                               
    (parted) print                                                            
    Model: DELL PERC H710 (scsi)
    Disk /dev/sdb: 4.00TB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: 
    
    Number  Start   End     Size    File system  Name     标志
     1      0.00TB  4.00TB  4.00TB               primary
    
    (parted)                       

    quit 退出

    四、fdisk查看分区

    [root@localhost ~]# fdisk -l                                              
    
    磁盘 /dev/sda:299.4 GB, 299439751168 字节,584843264 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x000452d7
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200   584843263   291372032   8e  Linux LVM
    WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
    
    磁盘 /dev/sdb:3999.7 GB, 3999688294400 字节,7811891200 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:gpt
    Disk identifier: 6C3DD9BC-3600-4890-8551-E0E078408A24
    
    
    #         Start          End    Size  Type            Name
     1         2048   7811889151    3.7T  Microsoft basic primary
    
    磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/centos-swap:16.8 GB, 16844324864 字节,32899072 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    
    
    磁盘 /dev/mapper/centos-home:227.8 GB, 227826204672 字节,444973056 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节

    可以看到/dev/sdb硬盘的磁盘标签类型为:gpt

    五、创建文件系统

    [root@localhost ~]# mkfs -t ext3 /dev/sdb1
    mke2fs 1.42.9 (28-Dec-2013)
    文件系统标签=
    OS type: Linux
    块大小=4096 (log=2)
    分块大小=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    244121600 inodes, 976485888 blocks
    48824294 blocks (5.00%) reserved for the super user
    第一个数据块=0
    Maximum filesystem blocks=4294967296
    29800 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, 20480000, 23887872, 71663616, 78675968, 
            102400000, 214990848, 512000000, 550731776, 644972544
    
    Allocating group tables: 完成                            
    正在写入inode表: 11378/29800

    这个过程会比较慢,大概用了20分钟

    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
            102400000, 214990848, 512000000, 550731776, 644972544
    
    Allocating group tables: 完成                            
    正在写入inode表: 完成                            
    Creating journal (32768 blocks): 完成
    Writing superblocks and filesystem accounting information: 完成   

    六、将3.7T硬盘挂载到datatemp目录

    [root@localhost /]# mkdir datatemp
    [root@localhost /]# mount /dev/sdb1 /datatemp

    使用df -h查看

    [root@localhost /]# df -h
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   50G  2.3G   45G    5% /
    devtmpfs                  16G     0   16G    0% /dev
    tmpfs                     16G     0   16G    0% /dev/shm
    tmpfs                     16G  9.2M   16G    1% /run
    tmpfs                     16G     0   16G    0% /sys/fs/cgroup
    /dev/sda1                976M  102M  824M   11% /boot
    /dev/mapper/centos-home  209G  194M  198G    1% /home
    tmpfs                    3.2G     0  3.2G    0% /run/user/0
    /dev/sdb1                3.6T   69M  3.4T    1% /datatemp

    硬盘已经挂载到datatemp上了,

    七、将/home目录数据复制到datatemp目录下

    [root@localhost /]# cd /home/
    [root@localhost home]# cp -R *.* /datatemp/

    八、将之前的硬盘挂载点/home卸载

    [root@localhost /]# umount /home                    
    umount: /home:目标忙。
            (有些情况下通过 lsof(8) 或 fuser(1) 可以
             找到有关使用该设备的进程的有用信息)

    报错:目标忙,是因为有进程在使用/home目录下的文件,通过lsof /home,来查看哪些进程在使用

    [root@localhost /]# lsof /home/
    COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
    mysqld  6625 mysql  cwd    DIR  253,2     4096 8568835 /home/mysql-5.7.26/data
    mysqld  6625 mysql    1w   REG  253,2    12582 8568836 /home/mysql-5.7.26/log/mysqld.log
    mysqld  6625 mysql    2w   REG  253,2    12582 8568836 /home/mysql-5.7.26/log/mysqld.log
    mysqld  6625 mysql    3uW  REG  253,2 50331648 8568838 /home/mysql-5.7.26/data/ib_logfile0
    mysqld  6625 mysql    9uW  REG  253,2 50331648 8568839 /home/mysql-5.7.26/data/ib_logfile1
    mysqld  6625 mysql   10uW  REG  253,2 12582912 8568837 /home/mysql-5.7.26/data/ibdata1
    mysqld  6625 mysql   11uW  REG  253,2 12582912 8569114 /home/mysql-5.7.26/data/ibtmp1
    mysqld  6625 mysql   13uW  REG  253,2    98304 8568856 /home/mysql-5.7.26/data/mysql/servers.ibd
    mysqld  6625 mysql   14uW  REG  253,2  9437184 8568864 /home/mysql-5.7.26/data/mysql/help_topic.ibd
    mysqld  6625 mysql   15uW  REG  253,2    98304 8568854 /home/mysql-5.7.26/data/mysql/plugin.ibd
    mysqld  6625 mysql   16uW  REG  253,2   114688 8568866 /home/mysql-5.7.26/data/mysql/help_category.ibd
    mysqld  6625 mysql   17uW  REG  253,2   131072 8568868 /home/mysql-5.7.26/data/mysql/help_relation.ibd
    mysqld  6625 mysql   18uW  REG  253,2    98304 8568878 /home/mysql-5.7.26/data/mysql/time_zone_transition_type.ibd
    mysqld  6625 mysql   19uW  REG  253,2   245760 8568870 /home/mysql-5.7.26/data/mysql/help_keyword.ibd
    mysqld  6625 mysql   20uW  REG  253,2    98304 8568872 /home/mysql-5.7.26/data/mysql/time_zone_name.ibd
    mysqld  6625 mysql   21uW  REG  253,2    98304 8568874 /home/mysql-5.7.26/data/mysql/time_zone.ibd
    mysqld  6625 mysql   22uW  REG  253,2    98304 8568876 /home/mysql-5.7.26/data/mysql/time_zone_transition.ibd
    mysqld  6625 mysql   23uW  REG  253,2    98304 8568880 /home/mysql-5.7.26/data/mysql/time_zone_leap_second.ibd
    mysqld  6625 mysql   24uW  REG  253,2    98304 8568900 /home/mysql-5.7.26/data/mysql/innodb_table_stats.ibd
    mysqld  6625 mysql   25uW  REG  253,2    98304 8568902 /home/mysql-5.7.26/data/mysql/innodb_index_stats.ibd
    mysqld  6625 mysql   26uW  REG  253,2    98304 8568904 /home/mysql-5.7.26/data/mysql/slave_relay_log_info.ibd
    mysqld  6625 mysql   27uW  REG  253,2    98304 8568910 /home/mysql-5.7.26/data/mysql/gtid_executed.ibd
    mysqld  6625 mysql   28uW  REG  253,2    98304 8568906 /home/mysql-5.7.26/data/mysql/slave_master_info.ibd
    mysqld  6625 mysql   29uW  REG  253,2    98304 8568908 /home/mysql-5.7.26/data/mysql/slave_worker_info.ibd
    mysqld  6625 mysql   30uW  REG  253,2    98304 8568912 /home/mysql-5.7.26/data/mysql/server_cost.ibd
    mysqld  6625 mysql   31uW  REG  253,2    98304 8568914 /home/mysql-5.7.26/data/mysql/engine_cost.ibd
    mysqld  6625 mysql   32uW  REG  253,2    98304 8569126 /home/mysql-5.7.26/data/pytest/test_login_data.ibd
    mysqld  6625 mysql   34uW  REG  253,2    98304 8569130 /home/mysql-5.7.26/data/hl_hongxb/tbl_cash_notify_flow.ibd
    mysqld  6625 mysql   37u   REG  253,2     4096 8568848 /home/mysql-5.7.26/data/mysql/user.MYI
    mysqld  6625 mysql   38u   REG  253,2      384 8568849 /home/mysql-5.7.26/data/mysql/user.MYD
    mysqld  6625 mysql   39u   REG  253,2     5120 8568845 /home/mysql-5.7.26/data/mysql/db.MYI
    mysqld  6625 mysql   40u   REG  253,2      976 8568846 /home/mysql-5.7.26/data/mysql/db.MYD
    mysqld  6625 mysql   41u   REG  253,2     9216 8569005 /home/mysql-5.7.26/data/mysql/proxies_priv.MYI
    mysqld  6625 mysql   42u   REG  253,2      837 8569006 /home/mysql-5.7.26/data/mysql/proxies_priv.MYD
    mysqld  6625 mysql   43u   REG  253,2     9216 8568858 /home/mysql-5.7.26/data/mysql/tables_priv.MYI
    mysqld  6625 mysql   44u   REG  253,2     1894 8568859 /home/mysql-5.7.26/data/mysql/tables_priv.MYD
    mysqld  6625 mysql   45u   REG  253,2     4096 8568861 /home/mysql-5.7.26/data/mysql/columns_priv.MYI
    mysqld  6625 mysql   46u   REG  253,2        0 8568862 /home/mysql-5.7.26/data/mysql/columns_priv.MYD
    mysqld  6625 mysql   47u   REG  253,2     4096 8568885 /home/mysql-5.7.26/data/mysql/procs_priv.MYI
    mysqld  6625 mysql   48u   REG  253,2        0 8568886 /home/mysql-5.7.26/data/mysql/procs_priv.MYD
    mysqld  6625 mysql   49u   REG  253,2     2048 8568894 /home/mysql-5.7.26/data/mysql/event.MYI
    mysqld  6625 mysql   50u   REG  253,2        0 8568895 /home/mysql-5.7.26/data/mysql/event.MYD

    可以看到都是mysql服务在使用,所以我们需要停掉mysqld服务

    [root@localhost /]# systemctl stop mysqld

    再次卸载/home

    [root@localhost /]# umount /home/        
    [root@localhost /]# lsblk
    NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda               8:0    0 278.9G  0 disk 
    ├─sda1            8:1    0     1G  0 part /boot
    └─sda2            8:2    0 277.9G  0 part 
      ├─centos-root 253:0    0    50G  0 lvm  /
      ├─centos-swap 253:1    0  15.7G  0 lvm  [SWAP]
      └─centos-home 253:2    0 212.2G  0 lvm  
    sdb               8:16   0   3.7T  0 disk 
    └─sdb1            8:17   0   3.7T  0 part /datatemp
    sr0              11:0    1  1024M  0 rom  

    可以看到212GB的lvm已经没有挂载到/home了,

     九、卸载/datatemp挂载点

    [root@localhost /]# umount /datatemp/
    [root@localhost /]# lsblk
    NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda               8:0    0 278.9G  0 disk 
    ├─sda1            8:1    0     1G  0 part /boot
    └─sda2            8:2    0 277.9G  0 part 
      ├─centos-root 253:0    0    50G  0 lvm  /
      ├─centos-swap 253:1    0  15.7G  0 lvm  [SWAP]
      └─centos-home 253:2    0 212.2G  0 lvm  
    sdb               8:16   0   3.7T  0 disk 
    └─sdb1            8:17   0   3.7T  0 part 
    sr0              11:0    1  1024M  0 rom  

    十、将3.6T硬盘挂载到/home

    sr0              11:0    1  1024M  0 rom  
    [root@localhost /]# mount /dev/sdb1 /home
    [root@localhost /]# df -h
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   50G  2.3G   45G    5% /
    devtmpfs                  16G     0   16G    0% /dev
    tmpfs                     16G     0   16G    0% /dev/shm
    tmpfs                     16G  9.2M   16G    1% /run
    tmpfs                     16G     0   16G    0% /sys/fs/cgroup
    /dev/sda1                976M  102M  824M   11% /boot
    tmpfs                    3.2G     0  3.2G    0% /run/user/0
    /dev/sdb1                3.6T  202M  3.4T    1% /home

    可以看到/home目录大小已经变成3.4TB了

    十一、将mysql数据文件目录授权给mysql用户,并启动mysqld服务

    [root@localhost home]# chown -R mysql:mysql /home/mysql-5.7.26/
    [root@localhost /]# systemctl start mysqld

    进入mysql查看数据

    [root@localhost /]# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 4
    Server version: 5.7.26 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> 
    mysql> use hl_hongxb;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> select count(*) from tbl_cash_notify_flow;
    +----------+
    | count(*) |
    +----------+
    |       66 |
    +----------+
    1 row in set (0.00 sec)
    
    mysql> 

    数据未丢失。

     十二、永久挂载

    [root@localhost /]# vim /etc/fstab 

    在文件末尾增加

    /dev/sdb2               /home                   ext3    defaults        1 1

    并注释掉之前的/home挂载

    #
    # /etc/fstab
    # Created by anaconda on Tue Jul 27 10:24:56 2021
    #
    # 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 /                       ext3    defaults        1 1
    UUID=0390c8b2-2038-4f3c-b2a5-09915a66e15a /boot                   ext3    defaults        1 2
    #/dev/mapper/centos-home /home                   ext3    defaults        1 2
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/sdb1               /home                   ext3    defaults        1 1

     执行:mount -a

    [root@localhost /]# mount -a       
    [root@localhost /]# 
  • 相关阅读:
    跳表实现
    剑指OFFER24-反转链表
    java常用的明文加密算法
    创建 Java 第三方类库,以及制作类库的Javadoc
    java 中的正则表达式
    JDK、JRE、JVM 关系
    java 编译运行过程
    为什么要配置环境变量
    搭建 java 开发环境
    idea 设置
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/15064968.html
Copyright © 2020-2023  润新知