博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux磁盘管理系列二:软RAID的实现
阅读量:6588 次
发布时间:2019-06-24

本文共 20281 字,大约阅读时间需要 67 分钟。

hot3.png

1 什么是RAID

RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高。

RAID分为几个不同的等级,各个不同的等级均在数据可靠性及读写性能做了不同的权衡。实际工作中根据自己的业务需求选择不同的RAID方案。 

2 RAID的实现方式

  • 外接式磁盘阵列:通过扩展卡提供适配能力
  • 内接式RAID:主板集成RAID控制器安装OS前在BIOS里配置
  • 软件RAID:通过OS实现

3 标准的RAID

3.1 RAID0

RAID0称为条带化存储,将数据分段存储在各个磁盘中,读写均可以并行处理,因此读写速率为单个磁盘的N倍,没有冗余功能,任何一个磁盘的损坏就会导致的数据不可用。

 

3.2 RAID1

RADI1是镜像存储,没有数据校验,数据被同等的写入到2个或者多个磁盘中,写入速度相对慢, 但是读取速度比较快。

 

3.3 RAID 4

RADI4在RAID1的基础上,N个盘用于数据存储,另外加入了1个磁盘作为校验盘。一共N+1个盘,任何一个盘坏掉也不影响数据的访问

3.4 RAID 5

RAID5在RAID4的基础上,由原来的一个盘来存储校验数据,改为每个盘都有数据和校验信息的。

 

4 混合RAID

4.1 RAID01

先组成RAID0,然后组成RAID1.

4.2 RAID10

先组成RAID1,然后组成RAID0

5 软RAID的实现

5.1 RAID5的实现

创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录

5.1.1 先看看我们的磁盘情况

1

2

3

4

5

6

7

8

9

10

11

12

13

14

[root Bash]$ lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  200G  0 disk

├─sda1   8:1    0    1G  0 part /boot

├─sda2   8:2    0  128G  0 part

├─sda3   8:3    0 48.8G  0 part /

├─sda4   8:4    0  512B  0 part

└─sda5   8:5    0 19.5G  0 part /app

sdb      8:16   0  100G  0 disk

sdc      8:32   0   20G  0 disk

sdd      8:48   0   20G  0 disk

sde      8:64   0   20G  0 disk

sdf      8:80   0   20G  0 disk

sr0     11:0    1  8.1G  0 rom  /run/media/root/CentOS 7 x86_64 

这里我们使用sdb,sdc,sdd,每个盘创建一个主分区1G,构建RADI5.

5.1.2 根据实际情况分区

复制代码

[root@centos7 Bash]$ fdisk /dev/sdbWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0x93d380cf.Command (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): pPartition number (1-4, default 1): First sector (2048-209715199, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +1GPartition 1 of type Linux and of size 1 GiB is setCommand (m for help): tSelected partition 1Hex code (type L to list all codes): fdChanged type of partition 'Linux' to 'Linux raid autodetect'Command (m for help): pDisk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x93d380cf   Device Boot      Start         End      Blocks   Id  System/dev/sdb1            2048     2099199     1048576   fd  Linux raid autodetectCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@centos7 Bash]$ fdisk /dev/sdcWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0xc56b90d8.Command (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): pPartition number (1-4, default 1): First sector (2048-41943039, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1GPartition 1 of type Linux and of size 1 GiB is setCommand (m for help): tSelected partition 1Hex code (type L to list all codes): fdChanged type of partition 'Linux' to 'Linux raid autodetect'Command (m for help): pDisk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xc56b90d8   Device Boot      Start         End      Blocks   Id  System/dev/sdc1            2048     2099199     1048576   fd  Linux raid autodetectCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@centos7 Bash]$ fdisk /dev/sddWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Device does not contain a recognized partition tableBuilding a new DOS disklabel with disk identifier 0x7e0900d8.Command (m for help): nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): pPartition number (1-4, default 1): First sector (2048-41943039, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1GPartition 1 of type Linux and of size 1 GiB is setCommand (m for help): pDisk /dev/sdd: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x7e0900d8   Device Boot      Start         End      Blocks   Id  System/dev/sdd1            2048     2099199     1048576   83  LinuxCommand (m for help): tSelected partition 1Hex code (type L to list all codes): fdChanged type of partition 'Linux' to 'Linux raid autodetect'Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.

复制代码

5.1.3 创建raid

复制代码

[root@centos7 Bash]$ mdadm -C /dev/md5 -a yes -l 5 -n 3 /dev/sd{b1,c1,d1} -c 256       # -C指定创建, -a yes 自动创建设备 , -l 设定level , -n 设定磁盘个数, -c chunk大小Continue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md5 started.[root@centos7 Bash]$ mdadm -Ds                                                          # 查看信息ARRAY /dev/md5 metadata=1.2 name=centos7.magedu.com:5 UUID=2c8ae60d:a799fcb7:9008a046:ae6ea430[root@centos7 Bash]$ mdadm -Ds >/etc/mdadm.conf                                         # 将软raid信息写入到配置文件中去[root@centos7 Bash]$ mkdir /mnt/md5                                                     # 创建挂载点目录 [root@centos7 Bash]$ mkfs.ext4 /dev/md5                                                 # 创建文件系统mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=64 blocks, Stripe width=128 blocks131072 inodes, 523776 blocks26188 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=53687091216 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:     32768, 98304, 163840, 229376, 294912Allocating group tables: done                            Writing inode tables: done                            Creating journal (8192 blocks): doneWriting superblocks and filesystem accounting information: done [root@centos7 Bash]$ mount /dev/md5 /mnt/md5                                          # 挂载设备 [root@centos7 Bash]$ tail -n 1 /etc/mtab/dev/md5 /mnt/md5 ext4 rw,seclabel,relatime,stripe=128,data=ordered 0 0               # 查看挂载信息[root@centos7 Bash]$ tail -n 1 /etc/mtab >>/etc/fstab                                 #添加到fstab文件中,确保开机启动,这里建议使用uuid

复制代码

5.1.4 验证raid

复制代码

[root@centos7 md5]$ mdadm -D /dev/md5                                                 #查看详细raid5详细信息,可以发现有3个都是working状态的/dev/md5:           Version : 1.2     Creation Time : Wed Dec  6 19:28:22 2017        Raid Level : raid5        Array Size : 2095104 (2046.00 MiB 2145.39 MB)     Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB)      Raid Devices : 3     Total Devices : 3       Persistence : Superblock is persistent       Update Time : Wed Dec  6 19:39:06 2017             State : clean     Active Devices : 3   Working Devices : 3    Failed Devices : 0     Spare Devices : 0            Layout : left-symmetric        Chunk Size : 256KConsistency Policy : resync              Name : centos7.magedu.com:5  (local to host centos7.magedu.com)              UUID : 2c8ae60d:a799fcb7:9008a046:ae6ea430            Events : 18    Number   Major   Minor   RaidDevice State       0       8       17        0      active sync   /dev/sdb1       1       8       33        1      active sync   /dev/sdc1       3       8       49        2      active sync   /dev/sdd1[root@centos7 md5]$ man mdadm[root@centos7 md5]$ mdadm /dev/md5 -f /dev/sdc1                                                 # -f 设定指定设备故障, 将/dev/sdc1 这个盘标记失败, 看是否数据能访问,我这里使用-f标记失败,工作中可以根据硬盘指示灯判断磁盘状态mdadm: set /dev/sdc1 faulty in /dev/md5            [root@centos7 md5]$ mdadm -D /dev/md5                                                           #在次查看信息,发现工作的是2个, 一个失败的设备 /dev/md5:           Version : 1.2     Creation Time : Wed Dec  6 19:28:22 2017        Raid Level : raid5        Array Size : 2095104 (2046.00 MiB 2145.39 MB)     Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB)      Raid Devices : 3     Total Devices : 3       Persistence : Superblock is persistent       Update Time : Wed Dec  6 19:41:08 2017             State : clean, degraded                                                             # 这里注意了。 我们的一个盘坏掉了。 raid5状态为降级使用了。    Active Devices : 2   Working Devices : 2    Failed Devices : 1     Spare Devices : 0            Layout : left-symmetric        Chunk Size : 256KConsistency Policy : resync              Name : centos7.magedu.com:5  (local to host centos7.magedu.com)              UUID : 2c8ae60d:a799fcb7:9008a046:ae6ea430            Events : 20    Number   Major   Minor   RaidDevice State       0       8       17        0      active sync   /dev/sdb1       -       0        0        1      removed       3       8       49        2      active sync   /dev/sdd1       1       8       33        -      faulty   /dev/sdc1[root@centos7 md5]$ cat a.txt                                          # 发现我们的数据还是能访问的。没有问题。

复制代码

5.1.5 替换设备

我这里是磁盘坏掉后的执行替换的, 完全可以多一个备用盘, 坏掉自动替换的。

复制代码

[root@centos7 md5]$ mdadm /dev/md5 -a /dev/sde1                        # 上面我们的sdc1数据损坏,我们需要更换新的磁盘来顶替他的位置。这里添加一个sde1的磁盘, fdisk操作这里省去了。mdadm: added /dev/sde1[root@centos7 md5]$ mdadm -Ds                                          # 查看详细信息ARRAY /dev/md5 metadata=1.2 name=centos7.magedu.com:5 UUID=2c8ae60d:a799fcb7:9008a046:ae6ea430[root@centos7 md5]$ mdadm -D /dev/md5                                  # 查看详细信息/dev/md5:           Version : 1.2     Creation Time : Wed Dec  6 19:28:22 2017        Raid Level : raid5        Array Size : 2095104 (2046.00 MiB 2145.39 MB)     Used Dev Size : 1047552 (1023.00 MiB 1072.69 MB)      Raid Devices : 3     Total Devices : 4       Persistence : Superblock is persistent       Update Time : Wed Dec  6 19:50:01 2017             State : clean                                                  # 状态恢复正常了。没有问题    Active Devices : 3   Working Devices : 3    Failed Devices : 1     Spare Devices : 0            Layout : left-symmetric        Chunk Size : 256KConsistency Policy : resync              Name : centos7.magedu.com:5  (local to host centos7.magedu.com)              UUID : 2c8ae60d:a799fcb7:9008a046:ae6ea430            Events : 43    Number   Major   Minor   RaidDevice State       0       8       17        0      active sync   /dev/sdb1       4       8       65        1      active sync   /dev/sde1       3       8       49        2      active sync   /dev/sdd1       1       8       33        -      faulty   /dev/sdc1             # 这个盘是坏掉的,我们已经加入了新的磁盘, 这个盘可以干掉了[root@centos7 md5]$ man mdadm[root@centos7 md5]$ mdadm /dev/md5 --remove /dev/sdc1                  # 这个盘我们从raid5中移除去。        mdadm: hot removed /dev/sdc1 from /dev/md5

复制代码

5.1.6扩展raid

我们上面使用的是2+1构成的raid5,磁盘利用率为66%,如果我们想改成3+1 可以执行类似如下命令

[root@centos7 mnt]$ mkadm -G -r  /dev/md5 -n 4 -a /dev/sdxx                  # 这里我就不测试了。使用/dev/sdxx代替一个设备。-G 是Grown增长的意思,-r 是resizefs的意思,

5.1.7 清空raid信息

复制代码

[root@centos7 mnt]$ umount /dev/md5                                   # 卸载设备[root@centos7 mnt]$ mdadm -S /dev/md5                                 # 停止raid5 mdadm: stopped /dev/md5[root@centos7 mnt]$ sed -i '$d' /etc/fstab                            # 删除fstab中关于raid5挂载的行[root@centos7 mnt]$ cat /etc/fstab                                    # 确保fstab没有大问题## /etc/fstab# Created by anaconda on Tue Nov  7 16:07:01 2017## 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#UUID=59ccea87-3c4e-4bbc-9e2f-3fadb1dcf2e6 /                       ext4    defaults        1 1UUID=f4e867e8-bcde-43a2-adc7-c80b0948e85f /app                    ext4    noatime,usrquota,grpquota        1 2UUID=1d6cbe88-ffb4-4adf-bacf-76be1fa75708 /boot                   ext4    defaults        1 2#UUID=b2c064f5-1ee5-4b5c-9e75-ed41cb99c5aa swap                    swap    defaults        0 0#UUID=a0516c4f-40e6-4919-905a-8b44db12ff7b swap               swap    defaults,pri=0        0 0 #/dev/sdb2 /test ext4 rw,seclabel,relatime,data=ordered 0 0#/dev/sdb1 /home xfs rw,seclabel,relatime,attr2,inode64,usrquota,grpquota  0 0[root@centos7 mnt]$ rm -rf /etc/mdadm.conf                                   # 删除raid默认配置文件
[root@centos7 mnt]$ mdadm --zero-superblock /dev/sd{b1,e1,d1,c1}             # 清空设置上的超级块信息

复制代码

5.2 RAID10的实现

raid10 ,6个分区,2个一组raid1,3组raid0 

5.2.1 案例分析

分析下,我们创建一个raid10设置,2个设备组成一个raid1,6个设备2个一组可以组成3个raid1, 然后把3个raid1组成一个raid0即可

5.2.2 先创建6个设备

复制代码

[root@centos7 mnt]$ lsblk                                # 就是使用fdisk 创建的设备, 具体这里就不写了。 最终使用lsblk显示,我们可以看到sdb1,sdb2,sdd1,sde1一共6个磁盘NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsda      8:0    0  200G  0 disk ├─sda1   8:1    0    1G  0 part /boot├─sda2   8:2    0  128G  0 part ├─sda3   8:3    0 48.8G  0 part /├─sda4   8:4    0  512B  0 part └─sda5   8:5    0 19.5G  0 part /appsdb      8:16   0  100G  0 disk ├─sdb1   8:17   0    1G  0 part └─sdb2   8:18   0    1G  0 part sdc      8:32   0   20G  0 disk ├─sdc1   8:33   0    1G  0 part └─sdc2   8:34   0    1G  0 part sdd      8:48   0   20G  0 disk └─sdd1   8:49   0    1G  0 part sde      8:64   0   20G  0 disk └─sde1   8:65   0    1G  0 part sdf      8:80   0   20G  0 disk sr0     11:0    1  8.1G  0 rom  /run/media/root/CentOS 7 x86_64

复制代码

5.2.3 创建raid 

复制代码

[root@centos7 mnt]$ mdadm -C /dev/md11 -a yes -l 1 -n 2 /dev/sd{b1,c1}                               # 创建第一个raid1mdadm: /dev/sdb1 appears to be part of a raid array:       level=raid5 devices=3 ctime=Wed Dec  6 19:28:22 2017mdadm: Note: this array has metadata at the start and    may not be suitable as a boot device.  If you plan to    store '/boot' on this device please ensure that    your boot-loader understands md/v1.x metadata, or use    --metadata=0.90mdadm: /dev/sdc1 appears to be part of a raid array:       level=raid5 devices=3 ctime=Wed Dec  6 19:28:22 2017Continue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md11 started.[root@centos7 mnt]$ mdadm -C /dev/md12 -a yes -l 1 -n 2 /dev/sd{b2,c2}                                #创建第二个raid1mdadm: Note: this array has metadata at the start and    may not be suitable as a boot device.  If you plan to    store '/boot' on this device please ensure that    your boot-loader understands md/v1.x metadata, or use    --metadata=0.90Continue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md12 started.[root@centos7 mnt]$ mdadm -C /dev/md13 -a yes -l 1 -n 2 /dev/sd{d1,e1}                                 # 创建第三个raid1mdadm: /dev/sdd1 appears to be part of a raid array:       level=raid5 devices=3 ctime=Wed Dec  6 19:28:22 2017mdadm: Note: this array has metadata at the start and    may not be suitable as a boot device.  If you plan to    store '/boot' on this device please ensure that    your boot-loader understands md/v1.x metadata, or use    --metadata=0.90mdadm: /dev/sde1 appears to be part of a raid array:       level=raid5 devices=3 ctime=Wed Dec  6 19:28:22 2017Continue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md13 started.[root@centos7 mnt]$ mdadm -C /dev/md10 -a yes -l 0 -n 3 /dev/md{11,12,13}                             # 将3个raid1 合并为一个raid0 mdadm: /dev/md11 appears to contain an ext2fs file system       size=2095104K  mtime=Wed Dec  6 19:29:45 2017mdadm: /dev/md13 appears to contain an ext2fs file system       size=2095104K  mtime=Wed Dec  6 19:29:45 2017Continue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md10 started.[root@centos7 mnt]$ mkfs.extmkfs.ext2  mkfs.ext3  mkfs.ext4            [root@centos7 mnt]$ mkfs.ext4 /dev/md10                                                                 # 创建文件系统                                                                                         mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=128 blocks, Stripe width=384 blocks196224 inodes, 784896 blocks39244 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=80530636824 block groups32768 blocks per group, 32768 fragments per group8176 inodes per groupSuperblock backups stored on blocks:     32768, 98304, 163840, 229376, 294912Allocating group tables: done                            Writing inode tables: done                            Creating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: done [root@centos7 mnt]$ mdadm -Ds                                                                             # 查看配置信息ARRAY /dev/md11 metadata=1.2 name=centos7.magedu.com:11 UUID=0ce2cd6c:cd21fab6:3e65cfb5:64bd86f3ARRAY /dev/md12 metadata=1.2 name=centos7.magedu.com:12 UUID=8af31dff:efab06ed:48e2613b:a599c774ARRAY /dev/md13 metadata=1.2 name=centos7.magedu.com:13 UUID=a8c99d60:2d0c61e7:97a76809:9396c020ARRAY /dev/md10 metadata=1.2 name=centos7.magedu.com:10 UUID=50b2fa58:4ce65d67:8c50c853:fa175a28[root@centos7 mnt]$ mdadm -Ds  >> /etc/mdadm.conf                                                         # 写配置文件到mdadm的配置文件中[root@centos7 mnt]$ mkdir /mnt/md10                                                                       # 创建挂载目录[root@centos7 mnt]$ mount /dev/md10 /mnt/md10                                                             # 挂载文件系统[root@centos7 mnt]$ tail -n 1 /etc/mtab                                                                   # 查看mtab文件中的最后一行, 也就是我们的md10挂载信息/dev/md10 /mnt/md10 ext4 rw,seclabel,relatime,stripe=384,data=ordered 0 0[root@centos7 mnt]$ tail -n 1 /etc/mtab >> /etc/fstab                                                     #添加到开机启动

复制代码

5.2.4 raid 清除工作

复制代码

[root@centos7 mnt]$ umount /dev/md10                                                                      # 取消挂载[root@centos7 mnt]$ rm -rf /etc/mdadm.conf                                                                # 删除mdadm的默认配置[root@centos7 mnt]$ mdadm -S /dev/md10                                                                    # 停止raid0设置mdadm: stopped /dev/md10[root@centos7 mnt]$ mdadm -S /dev/md11                                                                    # 停止raid1设置mdadm: stopped /dev/md11[root@centos7 mnt]$ mdadm -S /dev/md12                                                                    # 停止radi1 设置mdadm: stopped /dev/md12 [root@centos7 mnt]$ mdadm -S /dev/md13                                                                    # 停止raid 1 设置mdadm: stopped /dev/md13[root@centos7 mnt]$ sed -i '$d' /etc/fstab                                                                # 删除fstab的挂载  [root@centos7 mnt]$ cat /etc/fstab                                                                        # 确保正确## /etc/fstab# Created by anaconda on Tue Nov  7 16:07:01 2017## 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#UUID=59ccea87-3c4e-4bbc-9e2f-3fadb1dcf2e6 /                       ext4    defaults        1 1UUID=f4e867e8-bcde-43a2-adc7-c80b0948e85f /app                    ext4    noatime,usrquota,grpquota        1 2UUID=1d6cbe88-ffb4-4adf-bacf-76be1fa75708 /boot                   ext4    defaults        1 2#UUID=b2c064f5-1ee5-4b5c-9e75-ed41cb99c5aa swap                    swap    defaults        0 0#UUID=a0516c4f-40e6-4919-905a-8b44db12ff7b swap               swap    defaults,pri=0        0 0 #/dev/sdb2 /test ext4 rw,seclabel,relatime,data=ordered 0 0#/dev/sdb1 /home xfs rw,seclabel,relatime,attr2,inode64,usrquota,grpquota  0 0[root@centos7 mnt]$ mdadm -D                                                                                  # 再次查看下mdadm信息,确保没有了mdadm: No devices given.[root@centos7 mnt]$ mdadm --zero-superblock /dev/sd{b1,b2,c1,c2,d1,e1}                                        # 请求md的元数据信息

复制代码

转载于:https://my.oschina.net/mylife993/blog/1938989

你可能感兴趣的文章
集群tomcat+session共享
查看>>
类火墙的iptables
查看>>
Linux初级入门百篇-LVM 简介
查看>>
MySQL--事务
查看>>
腾讯云首发智能网关流控,公有云进入网络精细管控时代
查看>>
如何在思科虚拟PC机信息进行修改
查看>>
input 下面的span 标签 作为下拉框选项的点击
查看>>
lucene001
查看>>
1985—1990年《ISTP》收录的世界主要国家(地区)科技会议论文情况
查看>>
雨后清风教你如何在Windows 10上禁用笔记本电脑触摸板
查看>>
一名网工对Linux运维的一次经历
查看>>
10 行代码解决漏斗转换计算之性能优化
查看>>
ssh远程登录命令
查看>>
工程师论文如何发表
查看>>
javascript基础语法——变量和标识符
查看>>
服务器遭受***后的处理过程
查看>>
apache 和Tomcat的区别
查看>>
学习iptables
查看>>
阿里云linux主机更新hostname
查看>>
awk 累加
查看>>