数据迁移 1、最好是先进行锁表操作,防止数据被写入,我这里由于使用的atlas,只要停掉该程序,就不会有数据写入。 1 mysql> flush tables with read lock 解锁用: 1 mysql> unlock tables; 2、将MySQL旧的数据目录里的数据拷贝到SSD目录 1 2 \cp -a /usr/local/mysql/data/* /mysql_data/data/ chown -R mysql.mysql data 3、配置文件里修改数据目录 1 datadir 03:29:37 15255 [ERROR] Failed to initialize the master info structure 找不到relay-bin.000471文件,原因是我们的数据目录指向了新的位置 1 2 3 4 5 6 7 8 mysql-bin.index relay-log.info slave-relay-bin.index 将以上三个文件mv走即可,然后重启数据库,随后从库上做如下操作:
目录间迁移步骤 假设我在server.properties文件中配置了多个日志存储路径(表示日志数据存储在多块磁盘),如下所示: # A comma seperated list of directories 查询这些数据目录,发现Kafka均匀地将 9 个分区分布在这三个路径上: > ll /data1/kafka-logs/ |grep test-topic drwxr-xr-x 6 kafka staff 需要将test-topic的6,7,8分区全部迁移到/data2路径下,并且把test-topic的1分区迁移到/data1下。 迁移结果 执行完成后,我们再次查看存储目录副本分布: > ll /data1/kafka-logs/ |grep test-topic drwxr-xr-x 6 kafka staff 192 / |grep test-topic 可以看到,6,7,8已经被成功地迁移到/data2下,而分区1也迁移到了/data1下。
注:一开始没有考虑到把gitlab划分好存储目录,占用系统磁盘,由于gitlab是默认安装的,随着公司代码越来越多,导致gitlab数据目录空间不足 磁盘空间: [root@gitlab ~]# df 设置存储仓库数据 默认情况下omnibus-gitlab 将仓库数据存储在 /var/opt/gitlab/git-data目录下,仓库存放在子目录 repositories里面。 1.2,如果 /var/opt/gitlab/git-data 目录已经存在Git仓库数据, 你可以用下面的命令把数据迁移到新的位置: # 准备迁移之前要停止GitLab服务,防止用户写入数据。 [root@gitlab ~]# gitlab-ctl start 设置存储仓库数据的备用目录 注意的是:自GitLab 8.10开始,可以通过在/etc/gitlab/gitlab.rb文件中添加下面的几行配置 , 来增加多个 git 数据存储目录。
数据目录迁移,是指的数据库所在的目录磁盘空间不足,需要更大的空间数据目录默认在/var/lib/mysql/show variables like "%datadir%"; 查询数据目录systemctl stop mysqld && systemctl status mysqld mkdir -pv /home/mysql_new 创建新目录chown -R mysql:mysql /home/mysql_new 授权yum install rsync rsync -av /var/lib/mysql /home/mysql_new 迁移在/etc/my.cnf中修改相应的配置文件,如datadir = /home
背景: 最近在Azure上自建原生k8s集群,然后很不稳定有时雪崩,日志一直报如下,网上查了很多资料说是etcd数据存储磁盘io影响etcd查查询慢。 request took too long with etcd 3.2.24 #70082 issue:https://github.com/kubernetes/kubernetes/issues/70082 迁移方法 : 1.关闭服务并拷贝数据库文件到新的目录下 [root@node1 ~]# systemctl stop etcd [root@node1 ~]# cp -ar /data/etcd/ /var/lib root@node1 ~]# ll /var/lib/etcd/ total 0 drwx------. 4 root root 29 Apr 28 05:54 member 2.修改etcd.env文件新数据目录
目的:为了解决 /var/lib/docker/overlay2 占用大 /var 分区空间不够问题 一、查看docker默认目录的方法 docker默认目录为/var/lib/docker,可以通过下面的方法查看 ]# docker info |grep "Docker Root Dir" Docker Root Dir: /var/lib/docker 二、停止docker服务并移动原有docker文件到新目录 四、重新加载配置启动服务 systemctl daemon-reload systemctl start docker.service 然后可以重复第一步确认结果,即完成迁移。 ---- 附其他几个相关命令 # 类似于Linux上的df命令,用于查看Docker的磁盘使用情况 docker system df # 用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling
对于 MySQL 数据库的强制访问控制策略通常是激活的,如果用户采用默认的配置,并不会感到强制访问控制策略对 MySQL 数据库的影响,一旦用户修改了 MySQL 数据库的默认配置,例如默认的数据目录或监听端口 mysql/mysql.socklog-error=/opt/mysql/log/mysqld.logpid-file=/opt/mysql/run/mysqld/mysqld.pid2.3 创建新的数据目录根据上一步的配置文件 :service mysqld stopservice mysqld start往数据库添加数据,查看是否切换到了新数据目录:图片或者在SQL 执行界面执行以下语句:show VARIABLES like 'datadir'图片三、小结MySQL 迁移数据目录其实很简单,只需要有对应的目录路径,并修改对应的配置信息即可。 Windows 系统的简便性远超Linux 系统,甚至在Windows 系统你还可以直接复制某一个数据库文件到数据目录中(相当于复制了一个数据库到指定的数据库系统中),这也是能生效的。
innodb_additional_mem_pool_size 也已经被弃用了,如果有要注释掉
innodb_additional_mem_pool_size 也已经被弃用了,如果有要注释掉
temp 目录是由 Java 运行时进行配置的,同时一些 Confluence 的组件将会写入历史文件或者锁定文件到这个目录中。 临时目录位于安装目录下的 /temp 目录中。 希望修改这个目录的位置,重启你的 Java虚拟机(Java Virtual Machine)的时候配置下面的参数: -Djava.io.tmpdir=/path/to/your/own/temp/directory 请注意:这个临时目录与 Confluence Home 目录中导出的临时目录是不相同的。请查看上面表格中有关 <confluence-home>/temp 的配置来修改你临时目录的配置。 https://www.cwiki.us/display/CONF6ZH/Confluence+Home+and+other+important+directories
首先理解一个知识点, 未来目录(-future) : 我们在做跨目录数据迁移的时候,实际上会先再目标目录中创建一个新的分区目录,他的格式为: topic-partition.uniqueId-future , 具体是如果指定了dir,则创建的时候会使用指定的dir创建分区,否则的话,就会按照分区数量对各个目录排序,选择最少的那个创建。 跨目录迁移数据的时候,是从源目录读取分区副本的数据呢? 分区副本限流机制中, 在跨目录数据迁移的场景中, 会把这一部分的数据同步流量计算到 分区Leader限流的统计里面吗? 不会! 因为在跨目录数据迁移的场景中, 在判断 是否需要进行Leader层面的限流时候 shouldLeaderThrottle ,Quota限流传入的对象是 UnboundedQuota 意思是不进行限流。 而且 跨目录迁移本来就不是去Leader副本读取数据来同步的,所以也不存在Leader层面的限流 Follower 记录流量的地方在哪里?
如何跨目录迁移 为什么线上Kafka机器各个磁盘间的占用不均匀,经常出现“一边倒”的情形? 首先理解一个知识点, 未来目录(-future) : 我们在做跨目录数据迁移的时候,实际上会先再目标目录中创建一个新的分区目录,他的格式为: topic-partition.uniqueId-future , 具体是如果指定了dir,则创建的时候会使用指定的dir创建分区,否则的话,就会按照分区数量对各个目录排序,选择最少的那个创建。 跨目录迁移数据的时候,是从源目录读取分区副本的数据呢? 分区副本限流机制中, 在跨目录数据迁移的场景中, 会把这一部分的数据同步流量计算到 分区Leader限流的统计里面吗? 不会! 而且 跨目录迁移本来就不是去Leader副本读取数据来同步的,所以也不存在Leader层面的限流 Follower 记录流量的地方在哪里?
(如:/、/opt、/var等目录),CDH安装的安装目录默认是在/opt下,随着版本的升级和新组件的安装占用了大量的/opt目录空间,为了确保opt目录有足够的空间来存放CDH的安装包,需要将CDH的安装目录进行迁移 ,本篇文章Fayson主要介绍如何迁移CDH的安装目录/opt/cloudera。 2.CDH安装目录迁移 ---- 这里的迁移Fayson使用软链接的方式将CDH的安装目录/opt/cloudera迁移至/data/disk1目录下,具体操作如下: 1.首先将/opt/cloudera 目录mv到需要迁移的目录下 [root@cdh01 disk1]# cd /opt/ [root@cdh01 opt]# mv cloudera/ /data/disk1/ (可左右滑动) ? 如上操作就完成了CDH安装目录的迁移。 3.总结 ---- 1.在CDH安装目录迁移完成后需要重启cloudera-scm-agent服务 2.使用软链接的方式可以在不修改配置的情况下完成,更方便。
安装完Docker后,默认存储路径在/var/lib/docker目录,如果服务器挂载的硬盘不是根目录的话,可能会造成资源不够用。这时候就需要迁移docker默认的目录。 1.停止docker服务 systemctl stop docker 2.创建docker新目录 mkdir -p /data/docker/lib 3.安装迁移软件包 yum install rsync -y 4.开始迁移 rsync -avzP /var/lib/docker /data/docker/lib/ 5.修改docker配置文件docker.service vi /lib/systemd /dockerd -H fd:// --containerd=/run/containerd/containerd.sock后添加--graph=/data/docker/lib/docker 6. 重启docker systemctl daemon-reload systemctl restart docker 7.确认docker没有问题,删除原目录 rm -rf /var/lib/docker
数据库 所有的其他数据库,包括有页面,内容都存储在数据库中。如果你安装的 Confluence 是用于评估或者你选择使用的是 Embedded H2 Database 数据库。 数据库有关的文件将会存储在 database/ 目录中,这个目录位于 Home 目录下面。否则数据库将会存储你 Confluence 站点所使用的所有数据。 临时目录(安装目录) temp 目录是由 Java 运行时进行配置的,同时一些 Confluence 的组件将会写入历史文件或者锁定文件到这个目录中。 临时目录位于安装目录下的 /temp 目录中。 请注意:这个临时目录与 Confluence Home 目录中导出的临时目录是不相同的。请查看上面表格中有关 <confluence-home>/temp 的配置来修改你临时目录的配置。 https://www.cwiki.us/display/CONF6ZH/Confluence+Home+and+other+important+directories
Docker安装后默认目录在/var/lib/docker,如果没有对该目录单独分区,会占用/分区空间,如果根分区占满将影响服务器正常使用,因此有必要将Docker目录迁移到非根分区目录下。 Docker目录迁移到其它分区 如果您Docker已经在跑了,使用之前也忘记规划分区,这时候就需要迁移数据了。 首先停用Docker服务: systemctl stop docker 将文件进行备份: mv /var/lib/docker /var/lib/docker_bak 迁移文件到其它分区,这里已经提前建了一个新的分区 /home/disk2,我们将数据迁移到这个分区: cd /home/disk2 cp -a /var/lib/docker_bak docker 创建软连接: ln -s /home/disk2/docker /var/lib/docker 最后重新启动Docker服务: systemctl start docker 测试没有问题后,即可将备份目录/var/lib/docker_bak进行删除。
如果你现在正在使用的是 Confluence 数据中心(集群服务器),同时你已经配置了共享 home (shared home)目录,这个目录中应该已经有一些数据了(例如附件和备份等),那么你共享目录的大小可能改变 在这种情况下,这个目录存储了 Confluence 运行所需要的所有数据库数据。如果你配置 Confluence 使用外部数据库例如你使用的数据库是 MySQL 的话,这个目录是不需要的。 在数据中心模式下,这个目录通常是能在 Shared Home 目录中定义的。 在这种情况下,这个目录存储了 Confluence 运行所需要的所有数据库数据。如果你配置 Confluence 使用外部数据库例如你使用的数据库是 MySQL 的话,这个目录是不需要的。 https://www.cwiki.us/display/CONF6ZH/Confluence+Home+and+other+important+directories
Confluence 安装的目录(Confluence Installation directory)定义的是 Confluence 是在那里进行安装的。 这个目录有时候也被称为 Confluence 安装目录(Confluence Install directory)。 安装目录中的一些重要文件: bin/setenv.bat or bin/setenv.sh 这个文件通常被用来编辑 CATALINA_OPTS 内存和垃圾回收的设置,同时也定义了系统的属性。 confluence/WEB-INF/classes/confluence-init.properties 这个文件中定义了 Confluence Home 目录的位置。 https://www.cwiki.us/display/CONF6ZH/Confluence+Home+and+other+important+directories
Confluence Home 目录是存储 Confluence 信息,查找索引,页面附件的地方。其实 Home 目录也可以定义为数据目录。 找到 Home 目录 Confluence 的 home 目录是你在安装 Confluence 的时候定义的。 存储位置定义在 confluence-init.properties 文件中,这个文件位于你 Confluence 安装目录的 confluence/WEB-INF/classes 目录下。 如果你现在正在使用的是 Confluence 数据中心(集群服务器),同时你已经配置了共享 home (shared home)目录,这个目录中应该已经有一些数据了(例如附件和备份等),那么你共享目录的大小可能改变 https://www.cwiki.us/display/CONF6ZH/Confluence+Home+and+other+important+directories
前言 今天再次在MySQL WorkBench折腾,这个开源的数据库客户端老是读不出数据,以为是数据库权限的问题,服务端毕竟是Linux的,但是不是这问题,不过还是搞了。那只好记录记录一下! ---- 你没有看出标题,是一步就可以迁移MySQL数据库目录,但是使用环境是Ubuntu、基于apt-get安装。一步安装在篇章的最后。 说明 在 Ubuntu 下使用 sudo apt-get install mysql-server 安装的 MySQL 数据库,默认的数据目录是/var/lib/mysql。 ---- 原理步骤 现在希望将数据目录移到 /home/alic/data/mysql ,做法如下: 停止MySQL服务 sudo service mysql stop 迁移数据库文件 mv /var /usr.sbin.mysqld && \ sudo service apparmor restart && \ sudo service mysql restart && \ echo "MySQL数据库目录迁移完成