0%

服务端安装

1
yum -y install nfs-utils rpcbind

配置参数

1
vi /etc/exports
1
/data/tmpfile *(rw,sync,no_root_squash)

/data 表示需要共享的目录。
IP 表示允许哪个客户端访问。
IP后括号里的设置表示对该共享文件的权限。
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限

配置生效

1
exportfs -r

启动

1
2
systemctl start rpcbind && systemctl start nfs-server
systemctl enable rpcbind && systemctl enable nfs-server
阅读全文 »

由于升级不能跨越大版本号,因此只能升级到当前大版本号到最高版本,方可升级到下一个大版本号。

升级步骤

12.0.4->12.0.12->12.10.14->13.0.14->13.3.x

设置 Gitlab 的备份目录

1
vi /etc/gitlab/gitlab.rb
1
2
3
4
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/gitlab/backups"
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['backup_keep_time'] = 604800
1
2
mkdir -p /data/gitlab/backups
chown -R git.git /data/gitlab/backups

重载 Gitlab 配置文件

1
gitlab-ctl reconfigure

停止部分 Gitlab 服务

阅读全文 »

1
2
set pagesize 999;
set linesize 999;

查看表空间和表空间的文件

1
select tablespace_name,file_name from dba_data_files;

表空间离线

1
alter tablespace TMSCW_D_STAND offline;

把物理文件复制到新的位置

1
host cp /oracledata/tmscw/tmscw_d_stand01.ora /volumes/data/oradata/tmscw_d_stand01.ora

更换物理地址

1
alter tablespace TMSCW_D_STAND rename datafile '/oracledata/tmscw/tmscw_d_stand01.ora' to '/volumes/data/oradata/tmscw_d_stand01.ora';

表空间在线

阅读全文 »

事件起因

今天早晨系统告警磁盘空间不足,因为某个服务一直在刷错误日志,磁盘爆了,我把容器删除重新起了一个。

df -h后磁盘空间没有释放

du -sh统计没有占用那么多空间

通过指令:lsof | grep deleted 指令,查看当前系统句柄未释放情况

因为都是容器空间,所以只查看容器进程未释放的文件句柄。

1
2
3
lsof | grep deleted
lsof -p 3495 | grep deleted
lsof -p $(ps aux |grep dockerd |grep -v grep |awk '{print$2}') | grep deleted

发现有很多已经不存在的容器空间文件句柄未释放。

问题找到后怎么解决,有两种方法。

1、将当前线程进行重启,关闭线程,从而让句柄释放,释放空间。

阅读全文 »

对于不再使用的对象如镜像、容器、volumes以及网络 Docker采取的是被动清理(类比垃圾回收)机制:除非使用docker提供的命令手动进行清理,否则它们一般是不会被清除掉。这些没有使用的对象当然会占用额外宝贵的空间资源。Docker为不同的对象提供了各自的对象清理命令prune;另外还提供了docker system prune命令可一次性清理多个未使用对象。今天要讨论的就是这些关于对象清理的命令:prune。

prune image

命令docker image prune用以清理不再使用的docker镜像。执行docker image prune默认会清除”悬空”镜像。什么是“悬空”镜像?就是既没有标签名也没有容器引用的镜像就叫”悬空”镜像。具体操作如下:

1
docker image prune

有时侯我们想要清除所有没有容器引用的镜像,增加一个 -a 标志就可以搞定:

1
docker image prune -a

清除操作会提醒你是否真心想要清除对象,默认是选项会是yes;但是如果你嫌提示麻烦,可以通过-f 或者–force标志来进行强制清除。更加人性化的是,Docker提供了–filter标志筛选出想要保留的镜像。例如:只清除超过创建时间超过24小时的镜像可以这样来操作:

1
docker image prune -a --filter "until=24h"

当然还能够通过其他的表达式来定制我的镜像清理计划。更多的示例参考docker image prune

prune container

阅读全文 »