在centos6.x和centos7.x环境下停机扩容docker的pool空间

一、首先介绍一下docker的存储驱动Device Mapper插件的工作原理

如果在CentOS 、REHL 、Fedor或者其他默认没有 AUFS支持的Linux发行版上使用Docker,你需要用到Device Mapper的存储插件。将这个插件设置为默认,它会把你所有的容器存储到一个100G的简短文件中,并且限制每个容器最大为10GB。最初Docker仅能在支持Aufs文件系统的Linux发行版上运行,但是由于Aufs未能加入Linux内核,为了寻求兼容性、扩展性,Docker在内部通过graphdriver机制这种可扩展的方式来实现对不同文件系统的支持。目前,Docker支持Aufs,Devicemapper,Btrfs和Vfs四种文件系统。

查看linux系统是否支持aufs


1

#cat /proc/filesystems  | grep aufs #没有结果表示不支持

Device Mapper插件是基于Device Mapper的“精简目标”的特性。它实际上是目标块设备的快照,之所以被称为“精简”是因为它允许精简配置。精简配置意味着你有一个(希望很大)可用存储块的池,接着你可以从那个池中创建任意大小的块设备(虚拟磁盘,如有需要);在你实际读写后,这些存储块将会被标记为已使用(或者从池中拿走)。这意味着你是可以超额使用这个池,比如在一个 100GB 的池里面创建几千个 10GB 的卷,甚至可能是一个 100TB 的卷在一个 1GB 的池里面。只要你的实际读写的块的容量不大于池的大小,你怎么做都可以。除此之外,精简目标的方式是可以做快照的。这表明无论何时,你都可以创建一个存在的卷的浅拷贝。在用户看来,就像你有两个一样的卷,它们可以独立地各自修改。即使你做了一个完整的拷贝,除了在时间上它是瞬间发生的(即使是很大的卷),它们不会两次重复使用存储。额外的存储只有当其中任何一卷有变化的时候才会发生,然后精简目标会从池里面分配一个存储快。从本质上来看,“精简目标”实际上使用了两个存储设备:一个(大)的是存储块池自己,还有一个小的存储了一些元数据。这些元数据中包括了卷、快照、以及每个卷的块或者快照同存储池中块的映射信息。

当 Docker 使用 Device Mapper 存储插件的时候,它会在 /var/lib/docker/devicemapper/devicemapper/data和/var/lib/docker/devicemapper/devicemapper/metadata 下创建两个文件(如果它们不存在)来存储对应的存储池和相关的元数据。这非常方便,你不需要做任何安装部署的工作(你不需要额外的分区来存储 Docker容器,或者建立LVM 或其他类似的东西)然而它也有两个缺点:

第一:存储池会有一个默认100GB 的容量

第二:它将会被稀疏文件所支持。从磁盘的使用效率的观点来看,这还不错的(就像在精简池中的卷,它一开始是小的,只有当实际需要写的时候才会使用磁盘的存储块)但是从性能的角度来看就不那么好了,因为 VFS 增加了一些额外的负担,特别是"第一次写的时候"。

PS:容器快照保存容器中所有的更新,当数据写入容器时,devicemapper从存储池中按需分配空间。

参考链接:http://www.cnblogs.com/feisky/p/4106004.html

二、这里介绍在centos6.x环境和centos7.x环境扩容docker的pool的方法

参考链接:http://dl528888.blog.51cto.com/2382721/1618893

其实扩容docker的pool空间也有几种方式:

第一种:使用文件


1

2

#dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=500

这样将会创建一个500G的稀疏文件,如果不使用 seek 选项,那么它会创建一个普通文件,而不是一个稀疏文件

第二种:使用磁盘

额外在docker宿主机添加一块磁盘,然后格式化磁盘,并软链接到docker数据存储目录


1

2

#ln -s /dev/sdb /var/lib/docker/devicemapper/devicemapper/data

然后再重启docker服务

第三种:使用逻辑卷(没有测试过)


1

ln -s /dev/mapper/centos-dockerdata /var/lib/docker/devicemapper/devicemapper/data

下面开始在centos6.x和centos7.x下进行操作

1、centos6.x 环境

配置yum源,使用yum安装docker-io,启动docker,这些在这里不在赘述了。

第一种方式:简单介绍

备份镜像和容器


1

2

#docker save -o centos6.tar centos:centos6      #备份镜像

#docker export httpserver > /root/httpserver.tar  #备份容器

备份iptables规则


1

#cp /etc/sysconfig/iptables /root/iptables_backup  #在恢复容器的时候,这些规则可以作为参考

停止当前docker所有的容器


1

#docker stop `docker ps -a -q`

停掉docker服务


1

#service docker stop

备份旧的docker数据


1

#cp -a /var/lib/docker/ /root/docker_backup/  #备份旧数据是为了进行失败回滚

删除旧的docker数据文件


1

#rm -rf /var/lib/docker/

使用dd命令增大pool容量


1

#mkdir /var/lib/docker/devicemapper/devicemapper -pv  #创建文件夹

生成200G的pool空间


1

2

3

4

5

6

7

#dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=200 #增大到200G

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.000379694 s, 0.0 kB/s

#ll /var/lib/docker/devicemapper/devicemapper/  #查看pool文件大小

total 0

-rw-r--r-- 1 root root 214748364800 Aug 16 16:13 data

启动docker


1

2

#systemctl start docker  #如果可以正常启动,pool容器就会扩大到200G

通过查看docker的pool空间大小来确认,使用命令:docker info

第二种方式:着重介绍

docker的安装就不说了,直接介绍扩容pool空间

查看docker默认的pool空间大小,如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

#docker info

Containers: 1

Images: 2

Storage Driver: devicemapper

 Pool Name: docker-8:3-656635-pool

 Pool Blocksize: 65.54 kB

 Backing Filesystem: extfs

 Data file/dev/loop0

 Metadata file/dev/loop1

 Data Space Used: 640.2 MB

 Data Space Total: 107.4 GB             #pool空间为107G

 Data Space Available: 27.3 GB

 Metadata Space Used: 1.044 MB

 Metadata Space Total: 2.147 GB

 Metadata Space Available: 2.146 GB

 Udev Sync Supported: true

 Deferred Removal Enabled: false

 Data loop file/var/lib/docker/devicemapper/devicemapper/data

 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata

 Library Version: 1.02.89-RHEL6 (2014-09-01)

Execution Driver: native-0.2

Logging Driver: json-file

Kernel Version: 2.6.32-504.el6.x86_64

Operating System: <unknown>

CPUs: 2

Total Memory: 992.4 MiB

Name: test

ID: BIW3:V2R2:7CWN:XQWW:4WO2:PUYO:JHOG:3N3F:DMU6:TKVR:R2EC:CORL

查看安装的docker 版本


1

2

3

4

5

6

7

8

9

10

11

#docker version

Client version: 1.7.1

Client API version: 1.19

Go version (client): go1.4.2

Git commit (client): 786b29d/1.7.1

OS/Arch (client): linux/amd64

Server version: 1.7.1

Server API version: 1.19

Go version (server): go1.4.2

Git commit (server): 786b29d/1.7.1

OS/Arch (server): linux/amd64

然后添加一块独立的磁盘,并格式化,如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

#fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes

255 heads, 63 sectors/track, 3916 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0009053b

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          26      204800   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              26          52      204800   82  Linux swap / Solaris

Partition 2 does not end on cylinder boundary.

/dev/sda3              52        3917    31046656   83  Linux

Disk /dev/sdb: 128.8 GB, 128849018880 bytes      #新添加的磁盘

255 heads, 63 sectors/track, 15665 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

格式化:

#mkfs.ext4 /dev/sdb

在容器中创建文件和安装httpd服务


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

查看镜像

# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

centos6             latest              273a1eca2d3a        2 weeks ago         194.6 MB

查看容器

# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES

43f8196d81fc        centos6             "/bin/bash"         2 hours ago         Up 3 seconds        0.0.0.0:5000->80/tcp   http

进入容器安装httpd,创建文件

#docker attach 43f8196d81fc

#vi docker_test.txt 

this is a backup file in docker host

#yum install httpd -y

创建默认页面:

#echo "<h1>hello docker!</h1>" > /var/www/html/index.html

启动httpd

#service httpd start

在浏览器访问:http://10.0.90.26:5000

备份docker所有的镜像和容器,并将新添加的磁盘软链到docker数据文件目录


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

备份镜像

#docker save -o centos6_2.tar  centos6

备份容器

#docker export http > /root/centos6_http2.tar

停止docker中正在运行的所有容器

#docker stop `docker ps -a -q`

停掉docker服务

#service docker stop

备份docker的数据文件目录,以免出现意外的情况下回滚数据

#cp -a /var/lib/docker /root/BackUp/

删除旧的docker数据

#rm -rf /var/lib/docker/

创建docker数据存储路径

#mkdir -pv  /var/lib/docker/devicemapper/devicemapper

然后创建软连接,指向添加的磁盘设备

# ln -sv /dev/sdb /var/lib/docker/devicemapper/devicemapper/data

`/var/lib/docker/devicemapper/devicemapper/data‘ -> `/dev/sdb‘

启动docker服务

# service docker start

Starting docker:        [  OK  ]

查看docker数据存储路径文件

# ll /var/lib/docker/devicemapper/devicemapper/

total 820

lrwxrwxrwx 1 root root          8 Aug 17 20:08 data -> /dev/sdb

-rw------- 1 root root 2147483648 Aug 17 20:09 metadata

然后再次运行docker info,查看pool空间是否扩容成功,如下

#docker info

Containers: 0

Images: 0

Storage Driver: devicemapper

 Pool Name: docker-8:3-656121-pool

 Pool Blocksize: 65.54 kB

 Backing Filesystem: extfs

 Data file/dev/loop0

 Metadata file/dev/loop1

 Data Space Used: 305.7 MB

 Data Space Total: 128.8 GB        ##已经由原来的107扩容到了128G

 Data Space Available: 128.5 GB

 Metadata Space Used: 811 kB

 Metadata Space Total: 2.147 GB

 Metadata Space Available: 2.147 GB

 Udev Sync Supported: true

 Deferred Removal Enabled: false

 Data loop file/var/lib/docker/devicemapper/devicemapper/data

 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata

 Library Version: 1.02.89-RHEL6 (2014-09-01)

Execution Driver: native-0.2

Logging Driver: json-file

Kernel Version: 2.6.32-504.el6.x86_64

Operating System: <unknown>

CPUs: 2

Total Memory: 992.4 MiB

Name: test

ID: BIW3:V2R2:7CWN:XQWW:4WO2:PUYO:JHOG:3N3F:DMU6:TKVR:R2EC:CORL

最后恢复镜像和容器,并测试


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

# docker load --input centos6_2.tar    #恢复镜像#

# cat centos6_http2.tar | docker import - webserver:test   #将容器恢复成镜像

dd0deadd4cb5bee6c6febb21f4e884a846a853396a24fd5eb3cab1a9640b9fcb

查看恢复后的镜像

# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE

webserver           test                dd0deadd4cb5        About a minute ago   266.4 MB

centos6             latest              273a1eca2d3a        2 weeks ago          194.6 MB

通过webserver这个镜像重新run起来一个web容器

# docker run -d -i -t --privileged=true -p 5000:80 --name http webserver:test  /bin/bash

9b07c82278421fe3395a5504e0e4c9c20513018edfcb0342fa1db961c6680751

# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                  NAMES

9b07c8227842        webserver:test      "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:5000->80/tcp   http 

进入容器查看扩容pool之前创建的文件以及web默认页面

#docker attach 9b07c8227842

[[email protected] /]

[[email protected] ~]# ll

total 20

-rw------- 1 root root 2525 Jul 29 14:12 anaconda-ks.cfg

-rw-r--r-- 1 root root   37 Aug 17 09:38 docker_test.txt

-rw-r--r-- 1 root root 7275 Jul 29 14:12 install.log

-rw-r--r-- 1 root root 1680 Jul 29 14:11 install.log.syslog

[[email protected] ~]# cat docker_test.txt      #可以看到扩容之前创建的文件

this is a backup file in docker host  

#cat /var/www/html/index.html                   #创建的web页面也是存在的

<h1>hello docker!</h1>

启动http服务,在浏览器访问http://10.0.90.26:5000 是可以正常访问的。

2、centos7.x环境

第一种方法:使用文件(dd 命令)

配置yum源并安装docker


1

2

3

4

5

6

7

8

9

#cat /etc/yum.repos.d/docker.repo

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7

enabled=1

gpgcheck=1

gpgkey=

使用yum来安装docker

#yum install docker-engine -y

启动docker


1

#systemctl start docker

查看docker详细信息:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#docker info

 Containers: 2

 Running: 2

 Paused: 0

 Stopped: 0

Images: 2

Server Version: 1.12.0

Storage Driver: devicemapper

 Pool Name: docker-8:2-524741-pool

 Pool Blocksize: 65.54 kB

 Base Device Size: 10.74 GB

 Backing Filesystem: xfs

 Data file/dev/loop0

 Metadata file/dev/loop1

 Data Space Used: 584.5 MB

 Data Space Total: 107.4 GB       #pool空间为107G

 Data Space Available: 29.43 GB

 Metadata Space Used: 1.065 MB

 Metadata Space Total: 2.147 GB

 Metadata Space Available: 2.146 GB

 Thin Pool Minimum Free Space: 10.74 GB

 Udev Sync Supported: true

 Deferred Removal Enabled: false

 Deferred Deletion Enabled: false

 Deferred Deleted Device Count: 0

 Data loop file/var/lib/docker/devicemapper/devicemapper/data

 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata

 Library Version: 1.02.107-RHEL7 (2015-10-14)

 ……

可以看到docker版本是1.12.0,pool是107.4G,已经使用了584.5MB

查看docker镜像和容器的信息,如下:


1

2

3

4

5

6

7

8

9

#docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

centos              centos6             a3c09d36ab4a        2 weeks ago         194.6 MB

centos              latest              970633036444        2 weeks ago         196.7 MB

#docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES

eab85feb5eee        centos:centos6      "/bin/bash"         21 hours ago        Up 15 minutes       0.0.0.0:5000->80/tcp   testweb

adbf1d4ccc10        centos:centos6      "/bin/bash"         27 hours ago        Up 13 minutes                              web

ps:我事先在testweb容器中创建了testfile.txt文件,内容是Hello docker!,等扩容恢复之后,看此文件是否存在!

接下来开始备份docker镜像和容器


1

2

3

4

5

备份所有docker的container

#docker ps -a | grep -v "NAMES" | awk ‘{print $NF}‘|xargs -I {} sh -c "docker export {} > /root/docker_{}.tar"

备份镜像:

#docker save -o centos6.tar centos:centos6

#docker save -o centos7.tar centos

停掉当前正在运行的容器


1

#docker stop eab85feb5eee adbf1d4ccc10

停掉docker服务并备份docker旧数据


1

2

3

4

5

停掉docker

#systemctl stop docker

备份docker旧数据

#mkdir /root/docker_backup

#cp -a /var/lib/docker/ /root/docker_backup/

再将docker旧数据删除


1

#rm -rf /var/lib/docker/

使用dd命令生成一个大文件作为pool的容量空间,具体大小根据情况自定义


1

2

3

4

5

6

7

8

9

#mkdir /var/lib/docker/devicemapper/devicemapper -pv

#dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=200   #增大到200G

0+0 records in

0+0 records out

0 bytes (0 B) copied, 0.000379694 s, 0.0 kB/s

查看

#ll /var/lib/docker/devicemapper/devicemapper/

total 0

-rw-r--r-- 1 root root 214748364800 Aug 16 16:13 data

然后启动docker,查看pool空间是否扩容成功


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

启动docker

#systemctl start docker    

查看docker的pool空间大小

# docker info

Containers: 0

 Running: 0

 Paused: 0

 Stopped: 0

Images: 0

Server Version: 1.12.0

Storage Driver: devicemapper

 Pool Name: docker-8:2-524675-pool

 Pool Blocksize: 65.54 kB

 Base Device Size: 10.74 GB

 Backing Filesystem: xfs

 Data file/dev/loop0

 Metadata file/dev/loop1

 Data Space Used: 38.2 MB

 Data Space Total: 214.7 GB       ##可以看到pool的空间已经是200G

 Data Space Available: 27.45 GB

 Metadata Space Used: 1.507 MB

 Metadata Space Total: 2.147 GB

 Metadata Space Available: 2.146 GB

 Thin Pool Minimum Free Space: 21.47 GB

 Udev Sync Supported: true

 Deferred Removal Enabled: false

 Deferred Deletion Enabled: false

 Deferred Deleted Device Count: 0

 Data loop file/var/lib/docker/devicemapper/devicemapper/data

 Metadata loop file/var/lib/docker/devicemapper/devicemapper/metadata

 Library Version: 1.02.107-RHEL7 (2015-10-14)

Logging Driver: json-file

……

剩下的任务就是恢复之前备份的镜像和容器了,查看数据是否恢复成功


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

恢复images

#docker load --input centos6.tar 

6b5c6954e3d5: Loading layer [==================================================>] 202.2 MB/202.2 MB

Loaded image: centos:centos6

[[email protected] ~]# docker load --input centos7.tar 

Loaded image: centos:centos6

f59b7e59ceaa: Loading layer [==================================================>] 204.3 MB/204.3 MB

Loaded image: centos:latest

恢复容器

[[email protected] ~]# cat docker_testweb.tar | docker import - testweb:new

sha256:12f36d4bd6105ec495893df2b356f3d1046ebecafa72a2c60f0ff487806f9dac

[[email protected] ~]# cat docker_web.tar | docker import - web:new

sha256:ef7db6ffb3e0cf59d78dd46deba1e39f047960ec8835552b37c1d724b6ec42d8

查看镜像

#docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

web                 new                 ef7db6ffb3e0        5 seconds ago       269.2 MB

testweb             new                 12f36d4bd610        24 seconds ago      194.6 MB

centos              centos6             a3c09d36ab4a        2 weeks ago         194.6 MB

centos              latest              970633036444        2 weeks ago         196.7 MB

使用testweb镜像重新run起来一个容器,查看在扩容pool空间之间创建的文件是否可以恢复


1

2

3

4

5

6

7

8

9

10

11

12

# docker run -d -i -t --privileged -p 5000:80 --name web1 testweb:new /bin/bash

9edc76e959ba336381c58f9ccf570d04818961e9c6e91a164a7ea2b49c6b5a0a

进入容器

#docker attach 222140ba7bc5

[[email protected] ~]# ll

total 20

-rw------- 1 root root 2525 Jul 29 14:12 anaconda-ks.cfg

-rw-r--r-- 1 root root 7275 Jul 29 14:12 install.log

-rw-r--r-- 1 root root 1680 Jul 29 14:11 install.log.syslog

-rw-r--r-- 1 root root   14 Aug 16 06:12 testfile.txt

#cat  testfile.txt 

Hello docker!        #说明是可以正常恢复的

补充:如果容器都使用默认的10g空间,迁移没有出现问题,但如果容器进行了动态扩展,比如默认10g空间,你扩展到了30g或者更高,那么备份恢复容器的时候,会出现下面报错

[c3c929fe] +job import(-, cocos-play, )

write /var/lib/docker/devicemapper/mnt/19b84c235a7ed914871c0f10b5b17af9fc89955b077ad85afe0ec6e4b253c92b/rootfs/home/www/cocosplay/uploads/neatgame/ah2ssp/r_scene_20.cpk: no space left on device

所以建议大家不要动态扩展容器磁盘空间,尽量使用volume来挂载!!!

第二种方法:使用磁盘

说明:在centos7.x安装的docker(1.12.0),使用磁盘方式扩容pool无法成功,一切准备OK之后,启动docker报错,如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

启动docker服务

# systemctl start  docker.service

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

报错了,然后根据提示,查看

#systemctl status docker.service

● docker.service - Docker Application Container Engine

   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)

   Active: failed (Result: exit-code) since Wed 2016-08-17 14:55:40 CST; 53s ago

     Docs: https://docs.docker.com

  Process: 2532 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)

 Main PID: 2532 (code=exited, status=1/FAILURE)

   Memory: 4.0K

   CGroup: /system.slice/docker.service

Aug 17 14:55:39 docker systemd[1]: Starting Docker Application Container Engine...

Aug 17 14:55:39 docker dockerd[2532]: time="2016-08-17T14:55:39.528322618+08:00" level=info msg="libcontainerd: new containerd process, pid: 2538"

Aug 17 14:55:40 docker dockerd[2532]: time="2016-08-17T14:55:40.549224503+08:00" level=error msg="[graphdriver] prior storage driver \"devicemapper\" failed: devmapper: Unable to grow loopb...alid argument"

Aug 17 14:55:40 docker dockerd[2532]: time="2016-08-17T14:55:40.549448713+08:00" level=fatal msg="Error starting daemon: error initializing graphdriver: devmapper: Unable to grow loopback f...alid argument"

Aug 17 14:55:40 docker systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE

Aug 17 14:55:40 docker systemd[1]: Failed to start Docker Application Container Engine.

Aug 17 14:55:40 docker systemd[1]: Unit docker.service entered failed state.

Aug 17 14:55:40 docker systemd[1]: docker.service failed.

Hint: Some lines were ellipsized, use -l to show in full.

鼎峰胡佳雄
QQ.2881064155
Skype.live:2881064155

时间: 2024-10-10 15:50:37

在centos6.x和centos7.x环境下停机扩容docker的pool空间的相关文章

CentOS7.X环境下源码包安装部署RabbitMQ3.7.17

本文介绍在CentOS7.X环境下源码包安装部署RabbitMQ3.7.17,使用docker安装很简单,这里我就不往文章中添加.在CentOS7.X环境下使用源码包安装还是有遇到不少坑的(使用yum安装的方式官方网站有介绍,比较简单),通过这篇我的个人实践操作,能够帮助到有需要的人.搭建环境:操作系统:CentOS7.5内存大小:16GB硬盘:100G注:正文中的参数与部署路径等,请根据实际需求修改.1.软件准备:wxWidgets-3.1.2.tar.bz2otp_src_22.0.tar.

CentOS7.X环境下基于docker安装部署RabbitMQ集群

1.IP地址规划(将信息配置到/etc/hosts中)主机名 IP地址RabbitMQ01 192.168.8.131RabbitMQ02 192.168.8.132RabbitMQ03 192.168.8.133RabbitMQ04 192.168.8.1342.RabbitMQ集群安装(1)四个节点同时运行,下载RabbitMQ镜像[[email protected]~]# docker pull rabbitmq:3-management(2)四个节点分别运行,启动RabbitMQ容器 [

Centos6.5和Centos7 php环境搭建如何实现呢

首先我们先查看下centos的版本信息 代码如下: #适用于所有的linux lsb_release -a#或者cat /etc/redhat-release#又或者rpm -q centos-release 以上三种任意一种均可查看centos的版本信息. 这里我们分别在centos6.5和centos7上进行安装,安装过程中也仅仅是部分linux命令不同而已,为了方便起见,采用yum的方式进行安装,当然,如此一来安装的软件版本可能就会因为yum源的问题而不同,如果你想安装指定版本,我们后面也

(转)CentOS7.4环境下搭建--Gluster分布式集群存储

原文:https://blog.csdn.net/qq_39591494/article/details/79853038 环境如下:OS:Centos7.4x86_64IP地址如下: Daasbank1: 192.168.1.102---CentOS7.4x86_64 Daasbank2: 192.168.1.103---CentOS7.4x86_64 Daasbank3: 192.168.1.105---CentOS7.4x86_64 Client: 192.168.1.106---Cent

centos7.2 环境下 mysql-5.1.73 安装配置

安装mysql,安装前准备 如果mysql用户不存在,那么添加mysql用户 groupadd mysql useradd -g mysql mysql mysql编译安装 tar -zxvf mysql-5.1.73.tar.gz cd mysql-5.1.73 yum install ncurses ncurses-devel ./configure '--prefix=/usr/local/mysql' '--without-debug' '--with-charset=utf8' '--

在centos7.4环境下安装用cm5.16安装CDH

修改ip 然后重启/etc/init.d/netwrok restart PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens32 UUID=a0ad438d-

CentOS7.x-lnmp环境下安装Discuz论坛

1.安装lnmp.这里采用一键安装的包 yum -y install wget wget http://soft.vpser.net/lnmp/lnmp1.6-full.tar.gz 2.加压安装lnmp,具体参考官网安装:https://lnmp.org/install.html 解压包:tar  zxvf  lnmp1.6-full.tar.gz 进入包,执行安装脚本: 选择安装需要版本的软件 检查是否安装成功,有没有进程 ps aux|grep  nginx ps aux|grep  ph

centos7.5环境下编译安装php7.0.30并安装redis和mongo扩展

1.安装php7.0.30的脚本 # vim install_php.sh #!/bin/bash # 安装基本依赖 yum install -y gcc gcc-c++ htop telnet iotop iptraf iftop make logrotate xinetd ntsysv sysstat perl autoconf libjpeg libjpeg-devel libpng libpng-devel glibc glibc-devel glib2 glib2-devel bzip

centos7.2 环境下两个数据库的安装部署

首先假如服务器上已经有一个 数据库mysql5.6.29,端口是3306. 接下来在安装一个mysql数据库,端口是3307的. 一:创建mysql编译目录 mkdir /usr/local/mysql3307 mkdir /usr/local/mysql3307/data mkdir /var/lib/mysql3307 chown -R mysql:mysql /usr/local/mysql3307 chown -R mysql:mysql /var/lib/mysql3307 二:mys