diff --git "a/docs/2011/12/10/CTDB\344\270\216LVS\346\220\255\345\273\272\351\233\206\347\276\244/index.html" "b/docs/2011/12/10/CTDB\344\270\216LVS\346\220\255\345\273\272\351\233\206\347\276\244/index.html" index 7a4105864..3ec46ec7f 100644 --- "a/docs/2011/12/10/CTDB\344\270\216LVS\346\220\255\345\273\272\351\233\206\347\276\244/index.html" +++ "b/docs/2011/12/10/CTDB\344\270\216LVS\346\220\255\345\273\272\351\233\206\347\276\244/index.html" @@ -209,8 +209,8 @@ if (true) { document.addEventListener('pjax:send', () => { preloader.initLoading() }) document.addEventListener('pjax:complete', () => { preloader.endLoading() }) -}

CTDB与LVS搭建集群

CTDB与LVS搭建集群

搭建一个采用lvs进行负载均衡的CTDB集群,整个集群的架构是采用如图所示

+}

CTDB与LVS搭建集群

CTDB与LVS搭建集群

搭建一个采用lvs进行负载均衡的CTDB集群,整个集群的架构是采用如图所示

ctdb

@@ -292,7 +292,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

The New Start

The New Start

top_img: images/default_back_pic.jpeg

+}

The New Start

The New Start

top_img: images/default_back_pic.jpeg

为什么写这个博客

博客转移了很多地方,从最开始的人人小站,到后来的 CSDN ,再到简书,换来换去直到看到还有个 hexo,这个是搭建在 github 上的一个博客,只不过排版什么的可能需要自己来处理了,这个博客最大的优点就是简洁,可以很方便的找到自己需要了,打算用这个还有个原因是,看到了几个写的很好的技术文章正好来自这个平台,自己也尝试着把好东西都放到这里汇总

很多东西真的非常喜欢,比如 goagent,比如 google,比如 github,以及一些其他的开源的东西,也许很多人无法理解 share 是个什么感觉

@@ -243,7 +243,7 @@

现在

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Debian 64位内核升级步骤

Debian 64位内核升级步骤

安装相关依赖包

1
apt-get install bzip2 libncurses5-dev kernel-package zlib1g-dev gcc make kernel-package wget module-init-tools procps libncurses5-dev
+}

Debian 64位内核升级步骤

Debian 64位内核升级步骤

安装相关依赖包

1
apt-get install bzip2 libncurses5-dev kernel-package zlib1g-dev gcc make kernel-package wget module-init-tools procps libncurses5-dev

下载源码

1
2
3
4
5
6
7
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.9.tar.bz2
tar -xvjf linux-2.6.35.9.tar.bz2
cp /boot/config-`uname -r` /usr/src/linux-2.6.35.9/.config
Then we must configure the new kernel:
cd linux-2.6.35.9
make menuconfig

裁剪不需要的东西

我们在内核配置里面至少有几个地方要修改。如下所示:

@@ -258,7 +258,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

利用移动硬盘安装windows7系统

利用移动硬盘安装windows7系统

首先把win7系统镜像的iso文件解压到移动硬盘中
将移动硬盘设置为活动分区
设置活动分区的方法
Diskpart程序实现U盘安装WIN7的方法:

+}

利用移动硬盘安装windows7系统

利用移动硬盘安装windows7系统

首先把win7系统镜像的iso文件解压到移动硬盘中
将移动硬盘设置为活动分区
设置活动分区的方法
Diskpart程序实现U盘安装WIN7的方法:

将Win7安装盘中的所有文件拷贝到硬盘文件夹中,我们这里选择D盘win7back。
在开始菜单程序栏中输入cmd进入命令行模式,敲入diskpart进入磁盘分区管理程序,逐行输入

1
2
3
4
5
6
7
8
select disk 1 (选择磁盘。此为disk 0硬盘,disk 1 U盘情况下,多硬盘时可输入list disk查询) 
clean (清除该磁盘)
create partition primary (创建主分区)
select partition 1 (选择刚刚创建的1号分区)
active (激活该分区)
format fs=fat32 (格式化为FAT32,8GB闪盘的格式化需要较长时间)
assign (为该分区注册盘符)
exit (退出diskpart程序)

注:以上操作必须在Vista/Win7下完成,XP虽然也带有diskpart程序,但无法格式化U盘。

@@ -242,7 +242,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

单独编译一个ext4内核模块

单独编译一个ext4内核模块

当我们需要使用一个内核模块的时候,在当前使用版本内核编译的时候又没有加进去,在不改变内核版本的时候,再编译整个内核,可能会覆盖原来的内核,导致系统无法启动

+}

单独编译一个ext4内核模块

单独编译一个ext4内核模块

当我们需要使用一个内核模块的时候,在当前使用版本内核编译的时候又没有加进去,在不改变内核版本的时候,再编译整个内核,可能会覆盖原来的内核,导致系统无法启动

现在我们能够单独选择需要的模块,然后加载进内核

准备工作

首先进入你当前使用的系统查看当前的使用内核版本,在这里是 2.3.39

下载对应内核源码包 linux-2.6.39.tar.bz2 将源码包放入 /usr/src/ 下

@@ -255,7 +255,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

alias重启终端失效的问题

alias重启终端失效的问题

如果使用命令:

+}

alias重启终端失效的问题

alias重启终端失效的问题

如果使用命令:

1
alias xx='xxxx'

那么登出以后,别名就会失效。下次登入的时候就不能用了

@@ -246,7 +246,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu配置bonding

ubuntu配置bonding

如果节点上有多个网络接口时可以通过bonding将多个网络接口虚拟为一个网络接口,bonding可以提供高可用及负载均衡功能,从而提高节点的网络接口性能及可用性。

+}

ubuntu配置bonding

ubuntu配置bonding

如果节点上有多个网络接口时可以通过bonding将多个网络接口虚拟为一个网络接口,bonding可以提供高可用及负载均衡功能,从而提高节点的网络接口性能及可用性。

配置单bond

一、使用如下命令安装

1
apt-get install ifenslave-2.6

二、配置bonding

修改网络接口配置文件/etc/network/interfaces

配置一个bond

@@ -244,7 +244,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Bad magic number ImportError in python

Bad magic number ImportError in python

是源码编译里面版本不对,删除掉源码pyc然后重新编译就可以了

+}

Bad magic number ImportError in python

Bad magic number ImportError in python

是源码编译里面版本不对,删除掉源码pyc然后重新编译就可以了

1
2
find .-name '*.pyc'-delete
python -m compileall .
@@ -239,7 +239,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Linux下如何创建loop device

Linux下如何创建loop device

在Linux中,有一种特殊的块设备叫loop device,这种loop device设备是通过映射操作系统上的正常的文件而形成的虚拟块设备

+}

Linux下如何创建loop device

Linux下如何创建loop device

在Linux中,有一种特殊的块设备叫loop device,这种loop device设备是通过映射操作系统上的正常的文件而形成的虚拟块设备

因为这种设备的存在,就为我们提供了一种创建一个存在于其他文件中的虚拟文件系统的机制.下面是一个示例:
第一步:用dd创建一个大文件:

1
dd if=/dev/zero of=node1 bs=4M count=500
@@ -263,7 +263,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Microsoft Visual C++ 2005 SP1无法安装

Microsoft Visual C++ 2005 SP1无法安装

安装时出现需要Microsoft Visual C++ 2005 Redistributble对话框,

+}

Microsoft Visual C++ 2005 SP1无法安装

Microsoft Visual C++ 2005 SP1无法安装

安装时出现需要Microsoft Visual C++ 2005 Redistributble对话框,

里面说Command line option syntax error . Type Command/?for Help

先解压 先脱一层,得到 VCREDI~3.EXE 这么个exe文件,执行安装。

使用WINRAR打开这个exe文件,得到vcredis1.cab 和 vcredist.msi 这两个安装程序,现在安装起来没有问题了

@@ -239,7 +239,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ubuntu 12.10设置root用户登录图形界面

Ubuntu 12.10设置root用户登录图形界面

Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入:

+}

Ubuntu 12.10设置root用户登录图形界面

Ubuntu 12.10设置root用户登录图形界面

Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入:

1
sudo  -s

然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。
启用root用户的前提是需要先给root设置一个密码:

1
sudo passwd root 
@@ -261,7 +261,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ubuntu12.10 设置默认命令行启动

Ubuntu12.10 设置默认命令行启动

在虚拟机当中安装ubuntu12.10的时候默认把图形界面给装上了,由于不需要使用桌面,所以为了省去每次进入到图形界面然后再用ctrl+F1的方式切换到命令行的步骤,希望能够默认进入的是命令行模式,那么设置的方法如下:

+}

Ubuntu12.10 设置默认命令行启动

Ubuntu12.10 设置默认命令行启动

在虚拟机当中安装ubuntu12.10的时候默认把图形界面给装上了,由于不需要使用桌面,所以为了省去每次进入到图形界面然后再用ctrl+F1的方式切换到命令行的步骤,希望能够默认进入的是命令行模式,那么设置的方法如下:

终端执行:

1
vim /etc/default/grub

将 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 改为:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text”

@@ -244,7 +244,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Vmware Tools is currently being installed on your system

Vmware Tools is currently being installed on your system

问题描述:
使用虚拟机安装Ubuntu过程中一直停留在“PLEASE WAIT! Vmware Tools is currently
being installed on your system”如下图:

+}

Vmware Tools is currently being installed on your system

Vmware Tools is currently being installed on your system

问题描述:
使用虚拟机安装Ubuntu过程中一直停留在“PLEASE WAIT! Vmware Tools is currently
being installed on your system”如下图:

软件环境
VMWare 8
Ubuntu 12.10

解决方案如下

@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

centos下多网卡做bond脚本

centos下多网卡做bond脚本

多网卡或者单网卡形式下的网卡bonding

+}

centos下多网卡做bond脚本

centos下多网卡做bond脚本

多网卡或者单网卡形式下的网卡bonding

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
#! /bin/sh
#获取当前网卡数
ethnum=`lspci | grep Ethernet | wc -l`
echo $ethnum
#如果网卡数小于等于1则什么都不做
if [ $ethnum -le 1 ]
then
echo "do nothing!"
fi
#如果网卡数大于等于2则
if [ $ethnum -ge 2 ]
then


#------- 添加一个bond0的网卡
echo "DEVICE=bond0" > /etc/sysconfig/network-scripts/ifcfg-bond0
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-bond0
echo "IPADDR=192.168.3.104" >> /etc/sysconfig/network-scripts/ifcfg-bond0
echo "NETMASK=255.255.0.0" >> /etc/sysconfig/network-scripts/ifcfg-bond0
echo "GATEWAY=192.168.1.1" >> /etc/sysconfig/network-scripts/ifcfg-bond0
echo "BOOTPROTO=static" >> /etc/sysconfig/network-scripts/ifcfg-bond0
echo "USERCTL=no" >> /etc/sysconfig/network-scripts/ifcfg-bond0
#--------
echo "ifenslave bond0" >> /etc/rc.local
#--------写其他网卡的配置文件
for i in $(seq $ethnum);
do
num=`expr $i - 1`
echo "BOOTPROTO=none" > /etc/sysconfig/network-scripts/ifcfg-eth$num
echo "DEVICE=eth$num" >> /etc/sysconfig/network-scripts/ifcfg-eth$num
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-eth$num
echo "MASTER=bond0" >> /etc/sysconfig/network-scripts/ifcfg-eth$num
echo "USERCTL=no" >> /etc/sysconfig/network-scripts/ifcfg-eth$num
echo "SLAVE=yes" >> /etc/sysconfig/network-scripts/ifcfg-eth$num
sed -i 's/ifenslave.*/& eth'"$num"'/g' /etc/rc.local
done;
echo "alias bond0 bonding" > /etc/modprobe.d/modprobe.conf
echo "options bond0 miimon=100 mode=balance-rr" >> /etc/modprobe.d/modprobe.conf
modprobe bonding
/etc/init.d/network restart
fi
@@ -246,7 +246,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

checkhost实时监控网站或者服务器是否可以访问

checkhost实时监控网站或者服务器是否可以访问

如果你拥有一个网站,那么最重要的事情就是要保证它24小时都能够访问。不过国内的虚拟主机服务非常糟糕,经常会出现各种状况,所以我们需要一个软件,可以让我们第一时间知道网站出现了无法访问的情况,从而通知售后人员解决。而Check Host就是这么一个windows下的免费网站时时监控工具。

+}

checkhost实时监控网站或者服务器是否可以访问

checkhost实时监控网站或者服务器是否可以访问

如果你拥有一个网站,那么最重要的事情就是要保证它24小时都能够访问。不过国内的虚拟主机服务非常糟糕,经常会出现各种状况,所以我们需要一个软件,可以让我们第一时间知道网站出现了无法访问的情况,从而通知售后人员解决。而Check Host就是这么一个windows下的免费网站时时监控工具。

服务器无法访问,那么对网站是非常不利的,而搜索引擎也会知道这个状况,因为蜘蛛不能爬行你的网页了。所以对访客以及搜索引擎排名都是不利的。不过这个事情肯定会发生,我们能做的就是提高反应速度,让这样的情况在最短的时间内解决。

如此一来,对于网站的实时监控就非常有必要的,但是我们又不能每隔一段时间就手动打开网站一次,这样太过于麻烦,甚至是愚蠢的,所以我们必须要使用一个软件,让其代劳,当发生状况的时候还会给你发出警告,而Check Host就可以满足你的愿望。

Check Host是一个windows下的小软件,只有2.2M,十分的小巧,它的原理是每隔一段时间就自动ping一下你设定的网址。如果无法ping通的话,那么就会通过几种方法告诉你。

@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

debian修改crontab默认编辑器为vim

debian修改crontab默认编辑器为vim

debian终端下默认编辑器为nano,比如crontab -e就会打开nano,这个编辑器用起来很不习惯,想修改为vim,当然,你的debian系统必须先安装vim.如果已经安装vim,请输入如下命令:

+}

debian修改crontab默认编辑器为vim

debian修改crontab默认编辑器为vim

debian终端下默认编辑器为nano,比如crontab -e就会打开nano,这个编辑器用起来很不习惯,想修改为vim,当然,你的debian系统必须先安装vim.如果已经安装vim,请输入如下命令:

1
update-alternatives --config editor

然后选择/usr/vim/vim.basic就OK了

@@ -240,7 +240,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

du查看的目录大小与df查看的大小不同的时候用lsof查找

du查看的目录大小与df查看的大小不同的时候用lsof查找

首先MAN一下两个命令,看一下解释的区别:

+}

du查看的目录大小与df查看的大小不同的时候用lsof查找

du查看的目录大小与df查看的大小不同的时候用lsof查找

首先MAN一下两个命令,看一下解释的区别:

1
2
du - estimate file space usage
df - report file system disk space usage

du估计文件空间占用情况,df报告文件系统磁盘空间使用情况。两个命令所要获取的对象时不同的。在linux下,几乎所有东西都可以称为文件,常规文件,二进制文件,socket流。所以,通常情况下,使用du得到到的根路径文件空间占用情况应当与df得到的文件系统磁盘占用的情况是一致的或者说相差无几。但是在某些情况下却会出现du得到的空间占用情况要远小于df得到的。

@@ -252,7 +252,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

error while loading shared libraries解決方法

error while loading shared libraries解決方法

在linux下运行程序时,发现了error while loading shared libraries这种错误,一时间不知道解决办法,在网上搜索,终于解决了.

+}

error while loading shared libraries解決方法

error while loading shared libraries解決方法

在linux下运行程序时,发现了error while loading shared libraries这种错误,一时间不知道解决办法,在网上搜索,终于解决了.

1
error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory

出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。
所以在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行,/sbin/ldconfig –v更新一下配置即可。
centos下安装qt时出现/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9’ not found
在安装qt-creator的时候运行这个IDE就出现了这个问题,是由于libstdc++.so.6的版本过低,需要下载个新的重新建立软连接

@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

libstdc++.so.6错误的解决办法

libstdc++.so.6错误的解决办法

当出现

+}

libstdc++.so.6错误的解决办法

libstdc++.so.6错误的解决办法

当出现

1
$ apt-get: symbol lookup error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: undefined symbol: _ZNSt8messagesIcE2idE, version GLIBCXX_3.4的时候

需要重新配置下一个包

Fixed by manually downloading testing version of libc6 from here
http://packages.debian.org/wheezy/libc6 and installed it

@@ -245,7 +245,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux下内存释放

linux下内存释放

细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.
先来说说free命令

+}

linux下内存释放

linux下内存释放

细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.
先来说说free命令

1
2
3
4
5
[root@server ~]# free -m 
total used free shared buffers cached
Mem: 249 163 86 0 10 94
-/+ buffers/cache: 58 191
Swap: 511 0 511

其中:

1
2
3
4
5
6
7
8
9
10
total 内存总数 
used 已经使用的内存数
free 空闲的内存数
shared 多个进程共享的内存总额
buffers Buffer Cache和cached Page Cache 磁盘缓存的大小
-buffers/cache 的内存数:used - buffers - cached
+buffers/cache 的内存数:free + buffers + cached
可用的memory=free memory+buffers+cached
有了这个基础后,可以得知,我现在used为163MB,free为86,buffer和cached分别为10,94
那么我们来看看,如果我执行复制文件,内存会发生什么变化.
@@ -259,7 +259,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux修改网卡的mac地址

linux修改网卡的mac地址

linux在安装一些软件的时候可能会用到修改主机的mac地址的问题,在网卡配置文件 /etc/network/interface 中添加mac地址的方式我在修改重启机器后没有生效,所以采用其他方式

+}

linux修改网卡的mac地址

linux修改网卡的mac地址

linux在安装一些软件的时候可能会用到修改主机的mac地址的问题,在网卡配置文件 /etc/network/interface 中添加mac地址的方式我在修改重启机器后没有生效,所以采用其他方式

在这里推荐使用脚本修改,将脚本写在开机启动配置文件中,这样开机后就能生成你需要的mac地址
在/etc/rc.local 中添加

1
2
3
ifconfig eth0 down
ifconfig eth0 hw ether 00:e0:34:5b:b4:i8
ifconfig eth0 up

这样修改后重启机器的mac地址就是你设置的地址了
这个时候会出现连不上外网的问题,使用命令route查看你会发现default默认网关路由项不见了,所以这个时候需要添加默认路由

@@ -241,7 +241,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux利用screen进行shell下的屏幕协作

linux利用screen进行shell下的屏幕协作

我们都知道linux是支持多终端并行处理的
但是某些时候我们可能有比较特殊的需求需要两个人同时处理一个终端,screen 正好能满足这个要求

+}

linux利用screen进行shell下的屏幕协作

linux利用screen进行shell下的屏幕协作

我们都知道linux是支持多终端并行处理的
但是某些时候我们可能有比较特殊的需求需要两个人同时处理一个终端,screen 正好能满足这个要求

首先需要安装screen软件:

debian和ubuntu下面都是通过:

1
apt-get install screen
@@ -248,7 +248,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ntpd配置时间同步服务器

ntpd配置时间同步服务器

修改同步服务器的配置文件/etc/ntp.conf ,删除所有的内容,添加

+}

ntpd配置时间同步服务器

ntpd配置时间同步服务器

修改同步服务器的配置文件/etc/ntp.conf ,删除所有的内容,添加

1
2
3
restrict default nomodify
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 8

重启ntpd

@@ -258,7 +258,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

samba配置用户访问方法

samba配置用户访问方法

配置目的:

为了给指定用户一个独立访问目录

+}

samba配置用户访问方法

samba配置用户访问方法

配置目的:

为了给指定用户一个独立访问目录

首先在samba服务器安装samba软件

1
$ apt-get install samba
@@ -276,7 +276,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu12.10安装sun java jdk

ubuntu12.10安装sun java jdk

1
2
3
add-apt-repository ppa:webupd8team/java  
apt-get update
apt-get install oracle-java6-installer
+}

ubuntu12.10安装sun java jdk

ubuntu12.10安装sun java jdk

1
2
3
add-apt-repository ppa:webupd8team/java  
apt-get update
apt-get install oracle-java6-installer
1
2
3
4
root@kangear:/etc/apt# java -version
java version "1.6.0_41"
Java(TM) SE Runtime Environment (build 1.6.0_41-b02)
Java HotSpot(TM) Server VM (build 20.14-b01, mixed mode)
@@ -240,7 +240,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

使用Ganglia监控系统监控集群(debian)

使用Ganglia监控系统监控集群(debian)

ganglia是一个集群监控软件,底层使用RRDTool获得数据。
Ganglia分为ganglia-monitor和gmetad两部分,前者运行在集群每个节点上(被监控机器)收集RRDTool产生的数据,后者运行在监控服务器上,收集每个ganglia-monitor的数据,通过Web UI可以看到直观的各种图表。

+}

使用Ganglia监控系统监控集群(debian)

使用Ganglia监控系统监控集群(debian)

ganglia是一个集群监控软件,底层使用RRDTool获得数据。
Ganglia分为ganglia-monitor和gmetad两部分,前者运行在集群每个节点上(被监控机器)收集RRDTool产生的数据,后者运行在监控服务器上,收集每个ganglia-monitor的数据,通过Web UI可以看到直观的各种图表。

在debian上安装Ganglia非常简单,首先安装下面三个包。因为要使用Web服务器才能看到图表,所以如果没有安装apache的话,会自动安装apache服务器。

1
2
3
4
5
6
7
apt-get installganglia-monitor  #这个包安装在被监控机器即可
apt-get install ganglia-webfront gmetad #这两个包安装在监控服务器,前者提供web页面,后者收集其他机器的监控数据
```

被监控安装完成之后,gmond服务会运行起来,使用下面的命令可以启动这个服务。
```raw
/etc/init.d/ganglia-monitor restart

(配置文件的路径在/etc/ganglia/gmond.conf)基本不用配置就可以启用

@@ -235,7 +235,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

修改centos6启动动画(plymouth方式)

修改centos6启动动画(plymouth方式)

centos6默认的启动动画是一个白蓝色的进度条,背景全黑色,现在需要对centos的启动动画进行定制
在查询了一些资料以后,发现有一个软件是可以对启动动画进行定制的,名字叫plymouth
这个在centos6操作系统安装完成以后默认就带了的,主要涉及的是如下的几个操作

+}

修改centos6启动动画(plymouth方式)

修改centos6启动动画(plymouth方式)

centos6默认的启动动画是一个白蓝色的进度条,背景全黑色,现在需要对centos的启动动画进行定制
在查询了一些资料以后,发现有一个软件是可以对启动动画进行定制的,名字叫plymouth
这个在centos6操作系统安装完成以后默认就带了的,主要涉及的是如下的几个操作

列出当前所有主题:

1
plymouth-set-default-theme --list  

主题存放目录:
/usr/share/plymouth/themes/

@@ -237,7 +237,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

修改ssh的默认22端口,并使用scp的方法

修改ssh的默认22端口,并使用scp的方法

修改默认的22的ssh端口只需要修改 /etc/ssh/sshd_config 中的 port 字段为你想要的端口就可以了
以后用其他机器ssh登录这台机器只需要:

+}

修改ssh的默认22端口,并使用scp的方法

修改ssh的默认22端口,并使用scp的方法

修改默认的22的ssh端口只需要修改 /etc/ssh/sshd_config 中的 port 字段为你想要的端口就可以了
以后用其他机器ssh登录这台机器只需要:

1
ssh -p (port)  (ip)  

使用scp 就是:

1
scp -P (port) /usr/myfile   IP:/tmp
@@ -225,7 +225,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

关于nginx upstream的几种配置方式

关于nginx upstream的几种配置方式

平时一直依赖硬件来作load blance,最近研究Nginx来做负载设备,记录下upstream的几种配置方式。

+}

关于nginx upstream的几种配置方式

关于nginx upstream的几种配置方式

平时一直依赖硬件来作load blance,最近研究Nginx来做负载设备,记录下upstream的几种配置方式。

第一种:轮询

1
2
3
4
upstream test{
server 192.168.0.1:3000;
server 192.168.0.1:3001;
}

第二种:权重

1
2
3
4
upstream test{
server 192.168.0.1 weight=2;
server 192.168.0.2 weight=3;
}

这种模式可解决服务器性能不等的情况下轮询比率的调配

@@ -256,7 +256,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

卸载python安装的软件

卸载python安装的软件

python源码安装的软件是无法通过命令卸载的,这个可以通过记录安装过程的形式来卸载安装的软件

+}

卸载python安装的软件

卸载python安装的软件

python源码安装的软件是无法通过命令卸载的,这个可以通过记录安装过程的形式来卸载安装的软件

以 python2.7.2 为例,在这个目录中有一个 setup.py 的文件,很显然这是安装程序,还是python写的,用 python 写 python 到安装程序,大开眼界了。在这里,需要写一个 shell 脚本,把在重新安装中提到的安装位置全部删除,就实现了卸载到目的了

一、创建del.sh脚本内容(在源码目录):

1
2
3
4
#!/bin/bash  
for i in $(less files.txt)
do rm -rf $i
done

脚本说明: files.txt 是需要事先在目录下创建的文件,目的是记录安装过程中提到到路径。脚本很简单,详细的就不说了,学过 shell 编程到肯定没问题,没学过到有其他语言编程基础的,仔细看看也可以看懂。

@@ -228,7 +228,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

常用linux源列表

常用linux源列表

本篇记录一些常用的源文件,后面需要用到的时候,直接进行复制粘贴即可

+}

常用linux源列表

常用linux源列表

本篇记录一些常用的源文件,后面需要用到的时候,直接进行复制粘贴即可

centos 相关

base源

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
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=0

#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=0

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=0

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=0
enabled=0

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
gpgcheck=0
enabled=0root

epel源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgcheck=0

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgcheck=0
@@ -230,7 +230,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

检查linux下服务器的带宽

检查linux下服务器的带宽

设想:公司 A 有一个名为 bsdocfs 的存储服务器,并通过名为 beckham 的客户端节点装载 NFS。公司 A 确定他们需要从 bsdocfs得到更多的带宽,因为有大量的节点需要访问 bsdocfs 的共享文件系统。
实现此操作的最常用和最便宜的方式是将两个千兆网卡组合在一起。这是最便宜的,因为您通常会有一个额外的可用 NIC 和一个额外的端口。
所以采取此这个方法。不过现在的问题是?到底需要多少带宽?

+}

检查linux下服务器的带宽

检查linux下服务器的带宽

设想:公司 A 有一个名为 bsdocfs 的存储服务器,并通过名为 beckham 的客户端节点装载 NFS。公司 A 确定他们需要从 bsdocfs得到更多的带宽,因为有大量的节点需要访问 bsdocfs 的共享文件系统。
实现此操作的最常用和最便宜的方式是将两个千兆网卡组合在一起。这是最便宜的,因为您通常会有一个额外的可用 NIC 和一个额外的端口。
所以采取此这个方法。不过现在的问题是?到底需要多少带宽?

千兆网卡以太网理论上的限制是 128MBit/s。这个数字从何而来,看看这些计算:
1Gb = 1024Mb;1024Mb/8 = 128MB;”b” = “bits,”、”B” = “bytes”

但实际看到的是什么呢,有什么好的测量方法呢,我推荐一个工具 iperf。可以按照以下方法获得 iperf

1
$ wget http://dast.nlanr.net/Projects/Iperf2.0/iperf-2.0.2.tar.gz
@@ -235,7 +235,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

正确用DD测试磁盘读写速度

正确用DD测试磁盘读写速度

问: 以下几种方式测试磁盘读写速度有什么区别?

+}

正确用DD测试磁盘读写速度

正确用DD测试磁盘读写速度

问: 以下几种方式测试磁盘读写速度有什么区别?

1
2
3
4
dd if=/dev/zero of=test bs=1M count=128 
dd if=/dev/zero of=test bs=1M count=128;sync
dd if=/dev/zero of=test bs=1M count=128 conv=fdatasync
dd if=/dev/zero of=test bs=1M count=128 oflag=dsync

答:区别在于内存中写缓存的处理方式。

@@ -235,7 +235,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

用rsync备份一台linux服务器上的数据

用rsync备份一台linux服务器上的数据

rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可

+}

用rsync备份一台linux服务器上的数据

用rsync备份一台linux服务器上的数据

rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可

备份到远程服务器

这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器

环境

将需要备份机器叫做服务器端 (192.168.0.195)
将备份后数据存放机器叫做客户端 (192.168.0.196)

配置

1.服务器端的配置:

这里是准备备份/chinfotech/kernel/zp/这个目录,修改配置文件

@@ -248,7 +248,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

监控磁盘读写状况

监控磁盘读写状况

你有没有碰到过:没有运行任何程序,磁盘却不断执行读写动作,io指示灯常亮,各种操作迟缓甚至卡顿。碰到这种状况往往会感到束手无策,因为并不是 cpu 居高不下,可以立即结束相关进程。而突然结束进程中断磁盘 io 操作甚至可能导致正在写入的数据丢失。

+}

监控磁盘读写状况

监控磁盘读写状况

你有没有碰到过:没有运行任何程序,磁盘却不断执行读写动作,io指示灯常亮,各种操作迟缓甚至卡顿。碰到这种状况往往会感到束手无策,因为并不是 cpu 居高不下,可以立即结束相关进程。而突然结束进程中断磁盘 io 操作甚至可能导致正在写入的数据丢失。

什么进程在读写磁盘?

可能是 firefox,可能是 updatedb,也可能是正在运行的 pacman -Syu,一切皆有可能 ……
怎么查看是什么进程在不断的读写磁盘呢?
请使用 iotop 命令查看:
通过输出结果我们可以清楚地知晓是什么程序在读写磁盘,速度以及命令行, pid 等信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# iotop    
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
9 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
10 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
13 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/1:0H]
14 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/2]
15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/2]
17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/2:0H]
18 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/3]
19 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/3]

使用 arrow 键移动表头焦点,使列表排序,通过 iotop 我们可以轻松辨识频繁读写磁盘的程序。
可以用左右箭头操作,按 r 是相反方向, 按 o 是动态切换

@@ -276,7 +276,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

系统运行后修改linux系统时区

系统运行后修改linux系统时区

在网上看了很多改时间的帖子,都没能最终解决问题。最后还是下面的博客最终解决的时间的问题,感谢原作者
安装系统过程时没有选对当前的时区,即CST,Asia/Shanghai,而是按默认的,EDT时区,这样跟我们的系统就都对不上,因此得改回CST,仔细琢磨一下,方法如下:

+}

系统运行后修改linux系统时区

系统运行后修改linux系统时区

在网上看了很多改时间的帖子,都没能最终解决问题。最后还是下面的博客最终解决的时间的问题,感谢原作者
安装系统过程时没有选对当前的时区,即CST,Asia/Shanghai,而是按默认的,EDT时区,这样跟我们的系统就都对不上,因此得改回CST,仔细琢磨一下,方法如下:

更改/etc/timezone里面的内容为:Asia/Shanghai

1
2
$ mv /etc/localtime /etc/localtime-bk
$ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

再用命令date看一下,就是我们要的CST。

@@ -229,7 +229,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

西数WD2T硬盘分区对齐的方法

西数WD2T硬盘分区对齐的方法

新购一个西数2T硬盘,也就是绿盘的那种,淘宝500左右,支持高级格式化。

+}

西数WD2T硬盘分区对齐的方法

西数WD2T硬盘分区对齐的方法

新购一个西数2T硬盘,也就是绿盘的那种,淘宝500左右,支持高级格式化。

到手以后,分区格式化,前几天格式化完成以后,fdisk -l 发现如下文字

引用
Partition 1 does not start on physical sector boundary.

网上找了下,说是软件的问题,后来折腾了下,应该是分区没有对齐的原因,至于为什么要对齐,优点很多,好像这个是跟神马高级分区格式化有关,具体的原理神马的,我就不讨论了,反正有一点,对齐后,性能会有提升。

@@ -235,7 +235,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux中KVM桥接网卡br0

linux中KVM桥接网卡br0

在centos虚拟化当中需要增加一个桥接网卡,然后将虚拟化当中的机器的网卡桥接到桥接网卡,下面将描述设置方法:

+}

linux中KVM桥接网卡br0

linux中KVM桥接网卡br0

在centos虚拟化当中需要增加一个桥接网卡,然后将虚拟化当中的机器的网卡桥接到桥接网卡,下面将描述设置方法:

查看现有网卡

1
2
3
4
5
6
7
8
9
10
11
[root@zb ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=70:71:BC:1F:E4:86
TYPE=Ethernet
UUID=0213211a-d451-4944-881c-e7475b8bee34
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.7.107
NETMASK=255.255.0.0
GATEWAY=192.168.1.1

将网卡信息copy一份到br0再进行修改

@@ -241,7 +241,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ssh配好无密码登录(RSA公钥)后,还要密码登录的问题的解决办法

ssh配好无密码登录(RSA公钥)后,还要密码登录的问题的解决办法

首先删除 /root/.ssh目录
然后ssh-keygen 生成新的认证目录
然后检查能否免密码登陆

+}

ssh配好无密码登录(RSA公钥)后,还要密码登录的问题的解决办法

ssh配好无密码登录(RSA公钥)后,还要密码登录的问题的解决办法

首先删除 /root/.ssh目录
然后ssh-keygen 生成新的认证目录
然后检查能否免密码登陆

如果还不能可能是/root/目录的权限不对了 可能被异常改到777了
做操作

1
chmod 650 /root/
@@ -225,7 +225,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu掉电出现检查文件系统的问题

ubuntu掉电出现检查文件系统的问题

修改:

+}

ubuntu掉电出现检查文件系统的问题

ubuntu掉电出现检查文件系统的问题

修改:

1
2
/etc/default/rcS 
FSCKFIX=no 为 FSCKFIX=yes

出现这个情况的原因是硬件时钟偏移了
显示上次挂载根目录在未来时间。

@@ -224,7 +224,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu无法关机

ubuntu无法关机

在/etc/default/halt 增加下面

+}

ubuntu无法关机

ubuntu无法关机

在/etc/default/halt 增加下面

1
INIT_HALT = POWEROFF

另一种方法:

@@ -228,7 +228,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu服务器dns重启失效问题

ubuntu服务器dns重启失效问题

方法一 通过/etc/network/interfaces,在它的最后增加一句:

1
dns-nameservers 8.8.8.8
+}

ubuntu服务器dns重启失效问题

ubuntu服务器dns重启失效问题

方法一 通过/etc/network/interfaces,在它的最后增加一句:

1
dns-nameservers 8.8.8.8

8.8.8.8是Google提供的DNS服务,这里只是举一个例子,你也可以改成电信运营商的DNS。重启后DNS就生效了,这时候再看/etc/resolv.conf,最下面就多了一行:

1
2
3
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
@@ -238,7 +238,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

快速做所有主机相互认证

快速做所有主机相互认证

脚本:

+}

快速做所有主机相互认证

快速做所有主机相互认证

脚本:

1
2
3
4
5
6
7
#!/usr/bin/expect
spawn sensors-detect
for {set i 0} {$i<=10} {incr i} {
expect ":"
send "\n"
}
interact

解释:
spawn是启动命令
for为循环的写法
interact为退出
这个脚本目的是在一次运行过程中不断模拟用户的enter操作

@@ -249,7 +249,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

编译一个Centos6.4下可用的内核rpm升级包-3.8.13内核rpm包

编译一个Centos6.4下可用的内核rpm升级包-3.8.13内核rpm包

在Centos6.4下进行内核升级,采用内核源码的升级方式比较简单,但是需要升级的机器多的情况下进行内核升级就比较麻烦,并且编译内核的速度依赖于机器的性能,一般需要20分钟,而通过rpm内核包的方式进行安装,就比较快,一般在几分钟之内就可以完成内核的安装,本文档以3.8.13内核源码为例子进行的操作。
根据网上的指导教程编译的rpm包,编译完成后只会生成如下两个rpm包:

+}

编译一个Centos6.4下可用的内核rpm升级包-3.8.13内核rpm包

编译一个Centos6.4下可用的内核rpm升级包-3.8.13内核rpm包

在Centos6.4下进行内核升级,采用内核源码的升级方式比较简单,但是需要升级的机器多的情况下进行内核升级就比较麻烦,并且编译内核的速度依赖于机器的性能,一般需要20分钟,而通过rpm内核包的方式进行安装,就比较快,一般在几分钟之内就可以完成内核的安装,本文档以3.8.13内核源码为例子进行的操作。
根据网上的指导教程编译的rpm包,编译完成后只会生成如下两个rpm包:

  • kernel-3.8.13-1.x86_64.rpm
  • kernel-headers-3.8.13-1.x86_64.rpm @@ -234,7 +234,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

centos使用U盘做启动盘

centos使用U盘做启动盘

软件下载地址:

+}

centos使用U盘做启动盘

centos使用U盘做启动盘

软件下载地址:

1
http://sourceforge.net/projects/iso2usb/files/latest/download?source=dlp

写于: 2014年08月04日
更新于: 2015年03月24日

@@ -223,7 +223,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

cgroup实践-资源控制

cgroup实践-资源控制

1、Cgroup安装
安装Cgroups需要libcap-devel和libcgroup两个相关的包

+}

cgroup实践-资源控制

cgroup实践-资源控制

1、Cgroup安装
安装Cgroups需要libcap-devel和libcgroup两个相关的包

1
yum install gcc libcap-devel 

2、Cgroup挂载配置

@@ -332,7 +332,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

custom-ubuntu-server-iso

custom-ubuntu-server-iso

Remastering the Ubuntu Desktop ISO is easy considering the existing graphical tools but did you ever wanted to build your custom Ubuntu Server Edition ISO ?

+}

custom-ubuntu-server-iso

custom-ubuntu-server-iso

Remastering the Ubuntu Desktop ISO is easy considering the existing graphical tools but did you ever wanted to build your custom Ubuntu Server Edition ISO ?

Preparing the Environment
You’ll need a clean copy of the Ubuntu Server ISO that you want to customize. Since 10.04 is the latest Ubuntu version I will write down my examples using it but everything should work pretty much unchanged for older or newer versions.

After you have you have the original iso image downloaded, make a copy it’s contents so we can later apply our patching there.

1
2
3
4
5
6
7
8
9
cd /home/rgavril/Work

mkdir original-iso custom-iso
mount -o loop ./ubuntu-10.04-server-i386.iso ./original-iso

cp -r ./original-iso/* ./custom-iso/
cp -r ./original-iso/.disk/ ./custom-iso/

umount ./original-iso/
@@ -249,7 +249,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

fio的配置使用

fio的配置使用

将fio-2.1.10.tar.gz拷贝到linux服务器的/usr/src/下

+}

fio的配置使用

fio的配置使用

将fio-2.1.10.tar.gz拷贝到linux服务器的/usr/src/下

解压源码包:

1
2
root@grandocean:/usr/src# tar xvf fio-2.1.10.tar.gz 
root@grandocean:/usr/src# cd fio-2.1.10/

安装依赖包:

@@ -243,7 +243,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux域名解析引起登陆慢

linux域名解析引起登陆慢

linux域名解析引起登陆慢的问题在于,ssh去登录这个台机器的时候,本机会去通过域名解析获取登录主机的主机名,所有一旦域名解析是无效的,需要等待较长时间

+}

linux域名解析引起登陆慢

linux域名解析引起登陆慢

linux域名解析引起登陆慢的问题在于,ssh去登录这个台机器的时候,本机会去通过域名解析获取登录主机的主机名,所有一旦域名解析是无效的,需要等待较长时间

解决办法一:
将域名解析指到127.0.0.1

解决办法二:
修改配置文件 /etc/ssh/sshd_config

1
UseDNS no
@@ -225,7 +225,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux绑定盘符

linux绑定盘符

1
2
3
[root@centos6 ~]# udevadm info -q path -n /dev/sdb
[root@centos6 ~]# udevadm info -q path -n /dev/sdc
/devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0/block/sdc
+}

linux绑定盘符

linux绑定盘符

1
2
3
[root@centos6 ~]# udevadm info -q path -n /dev/sdb
[root@centos6 ~]# udevadm info -q path -n /dev/sdc
/devices/pci0000:00/0000:00:10.0/host2/target2:0:1/2:0:1:0/block/sdc

拿到编号

1
[root@centos6 ~]# vim /etc/udev/rules.d/80-mydisk.rules 
@@ -227,7 +227,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

mdtest测试工具

mdtest测试工具

软件介绍

mdstest是软件的元数据操作基准测试工具,用来模拟对文件或者目录的open、stat、close操作,然后报告性能

+}

mdtest测试工具

mdtest测试工具

软件介绍

mdstest是软件的元数据操作基准测试工具,用来模拟对文件或者目录的open、stat、close操作,然后报告性能

下载软件压缩包:

1
2
3
4
5
6
7
8
9
10
11
12
yum install openmpi openmpi-devel -y
在/root/.bashrc中添加(注意也要添加mdtest的路径)
export PATH=$PATH:/usr/lib64/openmpi/bin/

source /root/.bashrc
下载
[root@lab8105 ~]# wget http://sourceforge.net/projects/mdtest/files/latest/download
解压
[root@lab8105 ~]# tar -xvf mdtest-1.9.3.tgz
修改makefile:
mdtest: mdtest.c
mpicc -Wall -D $(OS) $(LARGE_FILE) $(MDTEST_FLAGS) -g -o mdtest mdtest.c -lm
@@ -242,7 +242,7 @@

注意

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

nginx开启目录浏览

nginx开启目录浏览

使用nginx作为下载站点,开启目录浏览的功能
在/etc/nginx/sites-enabled/default中添加:

+}

nginx开启目录浏览

nginx开启目录浏览

使用nginx作为下载站点,开启目录浏览的功能
在/etc/nginx/sites-enabled/default中添加:

1
2
3
autoindex on ;
autoindex_exact_size off;
autoindex_localtime on;
@@ -229,7 +229,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu13.04修改默认启动内核

ubuntu13.04修改默认启动内核

ubuntu下面的启动内核选项跟其他操作系统不一样,有个子菜单,比如我在默认的ubuntu13.04上安装了一个新的内核3.14.5,那么默认的第一项是3.14.5内核,第二项是一个子菜单,第二项里面的第一项是3.14.5,第二项是3.14.5 recovery 模式,第三项是3.8.0,第四项是3.8.0(recover)

+}

ubuntu13.04修改默认启动内核

ubuntu13.04修改默认启动内核

ubuntu下面的启动内核选项跟其他操作系统不一样,有个子菜单,比如我在默认的ubuntu13.04上安装了一个新的内核3.14.5,那么默认的第一项是3.14.5内核,第二项是一个子菜单,第二项里面的第一项是3.14.5,第二项是3.14.5 recovery 模式,第三项是3.8.0,第四项是3.8.0(recover)

那么应该修改

1
/boot/grub/grub.cfg

中的

@@ -228,7 +228,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu使用iso作为本地源

ubuntu使用iso作为本地源

方式一(路径不要改):
挂载光驱到到本地的指定目录

+}

ubuntu使用iso作为本地源

ubuntu使用iso作为本地源

方式一(路径不要改):
挂载光驱到到本地的指定目录

1
mount /dev/cdrom /media/cdrom

然后执行:

1
apt-cdrom -m -d /media/cdrom add 
@@ -238,7 +238,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu服务器启动过程中重启卡死的问题解决

ubuntu服务器启动过程中重启卡死的问题解决

在grub默认参数当中添加

+}

ubuntu服务器启动过程中重启卡死的问题解决

ubuntu服务器启动过程中重启卡死的问题解决

在grub默认参数当中添加

1
GRUB_RECORDFAIL_TIMEOUT=0

写于: 2014年07月23日
更新于: 2015年03月24日

@@ -223,7 +223,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu配置简单的DNS服务器

ubuntu配置简单的DNS服务器

之所以说是简单的服务器,实现的功能很简单,通过这个dns server 查询制定域名的时候,能够根据设置的值来返回IP,当前的需求是需要轮询的返回IP

+}

ubuntu配置简单的DNS服务器

ubuntu配置简单的DNS服务器

之所以说是简单的服务器,实现的功能很简单,通过这个dns server 查询制定域名的时候,能够根据设置的值来返回IP,当前的需求是需要轮询的返回IP

DNS 轮询机制会受到多方面的影响,如:A记录的TTL时间长短的影响;别的 DNS 服务器 Cache 的影响;windows 客户端也有一个DNS Cache。这些都会影响 DNS 轮询的效果。

下面的配置就是实现解析test.zp.com到不同的IP地址

安装dns server软件包

ubuntu下是通过安装bind9软件包来配置dns-server的

@@ -242,7 +242,7 @@

后话

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

xenserver中linux虚拟机修改启动顺序

xenserver中linux虚拟机修改启动顺序

xenserver是思杰的一款类似于vmware ESXI的虚拟化平台,或者说虚拟化操作系统,上面可以安装许多虚拟机,但是当你装完linux虚拟机,你会发现一个问题,不能像windows vm那样直接通过xencenter的虚拟机属性去修改。

+}

xenserver中linux虚拟机修改启动顺序

xenserver中linux虚拟机修改启动顺序

xenserver是思杰的一款类似于vmware ESXI的虚拟化平台,或者说虚拟化操作系统,上面可以安装许多虚拟机,但是当你装完linux虚拟机,你会发现一个问题,不能像windows vm那样直接通过xencenter的虚拟机属性去修改。

windows的启动属性,很容易修改,

而linux的启动属性,没有这些

下面我们介绍一些啊,怎么可以把linux的启动属性,通过命令行解决掉。

@@ -230,7 +230,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

使用iptables做端口转发

使用iptables做端口转发

通过iptables可以做转发

+}

使用iptables做端口转发

使用iptables做端口转发

通过iptables可以做转发

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
IPT="/sbin/iptables"
/bin/echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
$IPT -F
$IPT -t nat -F
$IPT -X
$IPT -t nat -X
$IPT -Z
$IPT -t nat -Z
#DNAT 做端口转发
$IPT -t nat -A PREROUTING -d 192.168.19.102 -p tcp --dport 33 -j DNAT --to-destination 192.167.19.101:22
#SNAT 做端口转发
$IPT -t nat -A POSTROUTING -p tcp -d 192.167.19.101 --dport 22 -j SNAT --to-source 192.167.19.102

#SNAT 做网关转发
#$IPT -t nat -A POSTROUTING -s 192.168.0.0/16 -j SNAT --to-source 210.72.24.15
```
说明:
DNAT 做端口转发
是将对外网ip 192.168.19.102的访问,映射到对内网ip 192.167.19.101的访问;

一内一外的双网卡转一内的单网卡的时候,上面的配置信息里面实际是有三个IP信息的

备注:

首先需要启用NAT需要在Linux上打开内核对IP包的转发支持,linux上编辑:/etc/sysctl.conf 文件:
```bash
net.ipv4.ip_forward = 1

然后执行

1
sysctl -p
@@ -229,7 +229,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

定制ubuntu的时候修改proseed

定制ubuntu的时候修改proseed

一个参数的修改

+}

定制ubuntu的时候修改proseed

定制ubuntu的时候修改proseed

一个参数的修改

1
2
3
4
5
d-i clock-setup/utc-auto boolean false (不用utc)
d-i clock-setup/ntp boolean false (不时间同步)
d-i netcfg/disable_autoconfig boolean true (关闭自动网络配置)
d-i netcfg/use_autoconfig boolean false (不使用自动配置文件)
d-i apt-setup/use_mirror boolean false (不使用apt 镜像)

写于: 2014年08月07日
更新于: 2015年03月24日

@@ -223,7 +223,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

持续运行一个命令-并且将结果输出到文本

持续运行一个命令-并且将结果输出到文本

持续运行一个命令,并且将结果输出到文本

+}

持续运行一个命令-并且将结果输出到文本

持续运行一个命令-并且将结果输出到文本

持续运行一个命令,并且将结果输出到文本

1
2
3
4
5
6
7
#! /bin/sh
while [ 2 > 1 ]
do
echo `date` >> recode.txt
df -h >> recode.txt
sleep 5
done

写于: 2014年06月12日
更新于: 2015年03月24日

@@ -223,7 +223,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

配置cobbler步骤

配置cobbler步骤

首先找到下载包的地址 (使用的是centos6)

+}

配置cobbler步骤

配置cobbler步骤

首先找到下载包的地址 (使用的是centos6)

1
http://download.opensuse.org/repositories/home:/libertas-ict:/cobbler26/CentOS_CentOS-6/noarch/

添加国内epel源:

@@ -267,7 +267,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

配置xenserver本地存储

配置xenserver本地存储

查询磁盘对应关系:

+}

配置xenserver本地存储

配置xenserver本地存储

查询磁盘对应关系:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@xenserver-eqtwbths ~]# ll /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root 9 Jun 5 13:24 edd-int13_dev81 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jun 5 14:14 edd-int13_dev81-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 9 Jun 5 13:24 edd-int13_dev82 -> ../../sdc
lrwxrwxrwx 1 root root 9 Jun 5 13:24 edd-int13_dev83 -> ../../sdd
lrwxrwxrwx 1 root root 10 Jun 5 13:24 edd-int13_dev83-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 9 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D3PNHD -> ../../sdc
lrwxrwxrwx 1 root root 9 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D3PPH8 -> ../../sdd
lrwxrwxrwx 1 root root 10 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D3PPH8-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 9 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D4AGVJ -> ../../sdb
lrwxrwxrwx 1 root root 10 Jun 5 14:14 scsi-SATA_ST1000VX000-9YW_S1D4AGVJ-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 9 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D4AGX3 -> ../../sda
lrwxrwxrwx 1 root root 10 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D4AGX3-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D4AGX3-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jun 5 13:24 scsi-SATA_ST1000VX000-9YW_S1D4AGX3-part3 -> ../../sda3

准备添加sdb1作为存储

1
root@xenserver-eqtwbths ~]# xe sr-create type=lvm content-type=user device-config:device=/dev/disk/by-id/edd-int13_dev81-part1 name-label="Local storage 2(sdb)" 
@@ -234,7 +234,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

重置ubuntu13.04 密码

avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

重置ubuntu13.04密码

重置ubuntu13.04密码

方法如下:

+}

重置ubuntu13.04密码

重置ubuntu13.04密码

方法如下:

  1. Restart Machine

  2. @@ -246,7 +246,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

压缩css与js

压缩css与js

使用yuicompressor 进行css和js的压缩

+}

压缩css与js

压缩css与js

使用yuicompressor 进行css和js的压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /bin/sh	
yasuocss="java -jar /root/yuicompressor-2.4.8.jar --type css --charset utf-8"
yasuojs="java -jar /root/yuicompressor-2.4.8.jar --type js --charset utf-8"
######################css
for file in ./SGMag/sites/media/css/sgmag/*.css ./SGMag/sites/media/css/*.css
do
echo "$file"
echo "$file"bk
mv $file "$file"bk
$yasuocss $file"bk" > $file
echo "$file"
done
#######################js
for file in ./SGMag/sites/media/component/*.js ./SGMag/sites/media/*.js ./SGMag/sites/media/pagejs/*.js
do
echo "$file"
echo "$file"bk
mv $file "$file"bk
$yasuojs $file"bk" > $file
echo "$file"
done
########################报错处理
cp -rf ./SGMag/sites/media/pagejs/cluster/hosttools.jsbk ./SGMag/sites/media/pagejs/cluster/hosttools.js
头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

history命令的优化

history命令的优化

现在在项目中遇到这个情况比较多,在执行了一系列的命令后,想去翻历史记录的时候,翻不到历史记录,不同终端的命令,没有汇总,也不清楚那条命令是什么时候执行的,所以需要对默认的命令进行下面两个优化:

+}

history命令的优化

history命令的优化

现在在项目中遇到这个情况比较多,在执行了一系列的命令后,想去翻历史记录的时候,翻不到历史记录,不同终端的命令,没有汇总,也不清楚那条命令是什么时候执行的,所以需要对默认的命令进行下面两个优化:

    @@ -240,7 +240,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

shell脚本的自动交互

shell脚本的自动交互

使用expect来自动应答shell的交互

+}

shell脚本的自动交互

shell脚本的自动交互

使用expect来自动应答shell的交互

1
2
3
4
5
6
7
#!/usr/bin/expect
spawn openssl req -new -key server.key -out server1.csr
expect "Country Name"
send "\n"
expect "State or Province Name"
send "\n"
interact
头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

windows下命令行设置静态IP

windows下命令行设置静态IP

windows 10 预览版出现无法设置静态IP的bug,只能通过命令行进行设置,开启powershell,然后执行下列的命令即可
下面的“以太网 3” 为你设置的网卡的网卡名称,注意不要忘了空格

+}

windows下命令行设置静态IP

windows下命令行设置静态IP

windows 10 预览版出现无法设置静态IP的bug,只能通过命令行进行设置,开启powershell,然后执行下列的命令即可
下面的“以太网 3” 为你设置的网卡的网卡名称,注意不要忘了空格

设置静态IP:

1
netsh interface ipv4 set address "以太网 3"  static 192.168.0.71 255.255.0.0 192.168.26.1
@@ -231,7 +231,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux下制作软件包安装服务器

linux下制作软件包安装服务器

linux下的软件包在有网络的情况下比较好安装,在ubuntu下,更新sourcelist,然后使用apt-get就可以很方便的安装包,在centos下面,更新yum列表,然后使用yum也可以进行方便的软件安装,但是在没有网络的情况下就比较难安装,可以用一个个包的安装的方式去安装,这个在少量的包的情况下比较好处理,在多的情况下就比较麻烦了,本篇文档,就是介绍了在无网的情况下,根据自己的需要制作内网的包的安装服务器

+}

linux下制作软件包安装服务器

linux下制作软件包安装服务器

linux下的软件包在有网络的情况下比较好安装,在ubuntu下,更新sourcelist,然后使用apt-get就可以很方便的安装包,在centos下面,更新yum列表,然后使用yum也可以进行方便的软件安装,但是在没有网络的情况下就比较难安装,可以用一个个包的安装的方式去安装,这个在少量的包的情况下比较好处理,在多的情况下就比较麻烦了,本篇文档,就是介绍了在无网的情况下,根据自己的需要制作内网的包的安装服务器

centos系列

使用光驱作为安装源

1、将光驱挂载到服务器的本地目录

1
2
[root@node1 ~]# mount /dev/cdrom /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only

2、修改本地的yum源文件,将源指向光驱挂载的目录

@@ -273,7 +273,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux系统克隆系统盘

linux系统克隆系统盘

本文将介绍两种方式的系统盘的完整的备份,两种方式各有优缺点,需要根据实际情况来进行选择

+}

linux系统克隆系统盘

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

dm-crypt加密磁盘

dm-crypt加密磁盘

dm-cry加密方式密码与文件

与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用了RAID和 LVM也毫无障碍。

+}

dm-crypt加密磁盘

dm-crypt加密磁盘

dm-cry加密方式密码与文件

与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用了RAID和 LVM也毫无障碍。

如果看到类似下面的输出,说明AES模块已经加载了。

1
2
3
4
5
6
7
8
9
10
11
12
cat /proc/crypto

name : aes
driver : aes-generic
module : kernel
priority : 100
refcnt : 3
selftest : passed
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32
@@ -274,7 +274,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

linux服务器远程网络开机(wake on lan)

linux服务器远程网络开机(wake on lan)

通过网络可以远程开关机,某些时候比较方便管理机器

+}

linux服务器远程网络开机(wake on lan)

linux服务器远程网络开机(wake on lan)

通过网络可以远程开关机,某些时候比较方便管理机器

检查服务器是否支持远程网络开机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@lab5101 ~]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:
10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 2
Transceiver: internal
Auto-negotiation: onMDI-X: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe linkLink detected: yes

注意这两项:

1
2
Supports Wake-on: pumbg
Wake-on: g
@@ -231,7 +231,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

nginx配置代理缓存

nginx配置代理缓存

nginx可以实现反向代理的配置,并且可以使用缓存来加速,本文是简单的实现功能的配置,暂时没有做其他的优化的部分的配置,从网上的资料来看,很多配置都是没有讲哪些是必须配置的,我自己在配置过程中就发现没有生成缓存文件,下面来记录下配置的内容

+}

nginx配置代理缓存

nginx配置代理缓存

nginx可以实现反向代理的配置,并且可以使用缓存来加速,本文是简单的实现功能的配置,暂时没有做其他的优化的部分的配置,从网上的资料来看,很多配置都是没有讲哪些是必须配置的,我自己在配置过程中就发现没有生成缓存文件,下面来记录下配置的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
upstream test{
server 127.0.0.1:8080;
}

proxy_cache_path /var/cache/nginx/proxy_cache keys_zone=cache_zone:2000m max_size=1000m;

server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_cache cache_zone;
proxy_cache_valid 200 304 302 24h;
}

error_page 500 502 503 504 /50x.html;

location = /50x.html {
root /usr/share/nginx/html;
}
}

以上为我的配置文件,说明:

1
2
3
upstream test{
server 127.0.0.1:8080;
}
@@ -229,7 +229,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph客户端服务端属性匹配关系

ceph客户端服务端属性匹配关系

ceph的server是定期会发布版本,而它的客户端是放到linux 内核当中的,一些属性的支持是依赖于内核版本的,这样就存在一些问题,一些功能后端支持,而客户端旧了;还有可能是客户端用的很新的内核,而后端比较旧不支持,所以查看了下内核中的 features 文件,可以看到这个对应关系,总结了下就是下面的列表

+}

ceph客户端服务端属性匹配关系

ceph客户端服务端属性匹配关系

ceph的server是定期会发布版本,而它的客户端是放到linux 内核当中的,一些属性的支持是依赖于内核版本的,这样就存在一些问题,一些功能后端支持,而客户端旧了;还有可能是客户端用的很新的内核,而后端比较旧不支持,所以查看了下内核中的 features 文件,可以看到这个对应关系,总结了下就是下面的列表

注意表中:

  • S=SUPPORTED_DEFAULT 代表客户端支持这个属性
  • @@ -261,7 +261,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

删除ceph集群mds

引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd的数据在哪里

rbd的数据在哪里

创建一个rbd

1
[root@mytest ~]# rbd create test1 --size 4000
+}

rbd的数据在哪里

rbd的数据在哪里

创建一个rbd

1
[root@mytest ~]# rbd create test1 --size 4000

查看rbd信息

1
2
3
4
5
6
[root@mytest ~]# rbd info test1
rbd image 'test1':
size 4000 MB in 1000 objects
order 22 (4096 kB objects)
block_name_prefix: rb.0.fa6c.6b8b4567
format: 1

可以看出是没写入真实数据的

@@ -246,7 +246,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

查询osd上的pg数

查询osd上的pg数

本文中的命令的第一版来源于国外的一个博客,后面的版本为我自己修改的版本

+}

查询osd上的pg数

查询osd上的pg数

本文中的命令的第一版来源于国外的一个博客,后面的版本为我自己修改的版本

查询的命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ceph pg dump | awk '
/^pg_stat/ { col=1; while($col!="up") {col++}; col++ }
/^[0-9a-f]+\.[0-9a-f]+/ { match($0,/^[0-9a-f]+/); pool=substr($0, RSTART, RLENGTH); poollist[pool]=0;
up=$col; i=0; RSTART=0; RLENGTH=0; delete osds; while(match(up,/[0-9]+/)>0) { osds[++i]=substr(up,RSTART,RLENGTH); up = substr(up, RSTART+RLENGTH) }
for(i in osds) {array[osds[i],pool]++; osdlist[osds[i]];}
}
END {
printf("\n");
printf("pool :\t"); for (i in poollist) printf("%s\t",i); printf("| SUM \n");
for (i in poollist) printf("--------"); printf("----------------\n");
for (i in osdlist) { printf("osd.%i\t", i); sum=0;
for (j in poollist) { printf("%i\t", array[i,j]); sum+=array[i,j]; poollist[j]+=array[i,j] }; printf("| %i\n",sum) }
for (i in poollist) printf("--------"); printf("----------------\n");
printf("SUM :\t"); for (i in poollist) printf("%s\t",poollist[i]); printf("|\n");
}'
@@ -320,7 +320,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Mon失效处理方法

Mon失效处理方法

假设环境为三个mon,主机名为mon1、mon2、mon3,现在mon3上面的系统盘损坏,mon的数据完全丢失,现在需要对mon3进行恢复处理

+}

Mon失效处理方法

Mon失效处理方法

假设环境为三个mon,主机名为mon1、mon2、mon3,现在mon3上面的系统盘损坏,mon的数据完全丢失,现在需要对mon3进行恢复处理

1、停止所有mon进程,可以不停其他进程,需要停止内核客户端以及对外的服务,防止卡死
在mon1机器上执行

1
/etc/init.d/ceph stop mon

在mon2机器上执行

@@ -249,7 +249,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何删除一台OSD主机

如何删除一台OSD主机

在ceph的一台OSD主机出现故障的时候,数据可以通过副本的机制进行恢复,之后通过删除osd的操作也能够将故障osd从osd tree当中删除掉,但是故障的 osd 的主机仍然会留在集群当中,通过 ceph osd tree 或者打印 crush map 都可以看到这个损坏的节点主机名,所以这里讲下怎么删除掉这个无用的host

+}

如何删除一台OSD主机

如何删除一台OSD主机

在ceph的一台OSD主机出现故障的时候,数据可以通过副本的机制进行恢复,之后通过删除osd的操作也能够将故障osd从osd tree当中删除掉,但是故障的 osd 的主机仍然会留在集群当中,通过 ceph osd tree 或者打印 crush map 都可以看到这个损坏的节点主机名,所以这里讲下怎么删除掉这个无用的host

首先集群环境为两台主机 node8109 node8110 , node8110主机出现故障需要清理掉

先看下当前的osd tree状态

1
2
3
4
5
6
7
8
9
10
[root@node8109 webui]# ceph osd tree
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 4.00000 root default
-3 4.00000 rack localrack
-2 2.00000 host node8109
0 1.00000 osd.0 up 1.00000 1.00000
1 1.00000 osd.1 up 1.00000 1.00000
-4 2.00000 host node8110
2 1.00000 osd.2 down 1.00000 1.00000
3 1.00000 osd.3 down 1.00000 1.00000

查看osd的状态

1
2
[root@node8109 webui]# ceph osd stat
osdmap e66: 4 osds: 2 up, 4 in; 52 remapped pgs
@@ -235,7 +235,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

验证rbd的缓存是否开启

验证rbd的缓存是否开启

简单快速的在客户端验证rbd的cache是否开启
首先修改配置文件

+}

验证rbd的缓存是否开启

验证rbd的缓存是否开启

简单快速的在客户端验证rbd的cache是否开启
首先修改配置文件

在ceph.conf中添加:

1
2
3
[client]
rbd cache = true
rbd cache writethrough until flush = true

开启以后,在这台机器上进行测试

@@ -230,7 +230,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

在线调整ceph的参数

在线调整ceph的参数

能够动态的进行系统参数的调整是一个很重要并且有用的属性
ceph的集群提供两种方式的调整,使用tell的方式和daemon设置的方式

+}

在线调整ceph的参数

在线调整ceph的参数

能够动态的进行系统参数的调整是一个很重要并且有用的属性
ceph的集群提供两种方式的调整,使用tell的方式和daemon设置的方式

一、tell方式设置

调整配置使用命令:

调整mon的参数

1
#ceph tell mon.* injectargs '--{tunable value_to_be_set}'

调整osd的参数

1
#ceph tell osd.* injectargs '--{tunable value_to_be_set}'
@@ -233,7 +233,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph集群的安装和配置教程

ceph集群的安装和配置教程

本篇主题:

avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何在所有的mon的损坏情况下将数据恢复如初

如何在所有的mon的损坏情况下将数据恢复如初

本篇主题

在mon无法启动,或者所有的mon的数据盘都损坏的情况下,如何把所有的数据恢复如初

+}

如何在所有的mon的损坏情况下将数据恢复如初

如何在所有的mon的损坏情况下将数据恢复如初

本篇主题

在mon无法启动,或者所有的mon的数据盘都损坏的情况下,如何把所有的数据恢复如初

写本章的缘由

在ceph中国的群里有看到一个技术人员有提到,在一次意外机房掉电后,三台mon的系统盘同时损坏了,这个对于熟悉ceph的人都知道这意味着什么,所有的集群数据将无法访问,关于这个的解决办法目前没有在哪里有看到,这个对于大多数人是用不上的,但是一旦出现了,这个损失将是无法估量的,当然谁都不希望这个情况的发生

所以在研究了下ceph的一些操作后,自己尝试去找了一些关于集群的故障修复的,目前看到了一个是关于单个rbd镜像的恢复的文章,那个需要将数据映射本地的loop设备后重新读取,这个我曾经验证过一遍,确实可以实现,在周末的时候我尝试了另外一个办法,实现了在mon完全失效的情况下全集群的完整数据的恢复,并且保留了原来的数据结构和数据信息,当然这中间需要进行一定的操作去完成它,这个我准备写成一个标准的操作流程,并用视频的方式来记录这个恢复的流程

头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

xenserver使用ceph的rbd的方法

xenserver使用ceph的rbd的方法

首先安装的xenserver6.5的环境,看到有地方有提到这个上面可以安装rbd的支持,网上有一种方式是libvirt+kvm方式,因为ceph对libviet是原生支持的,但是xenserver底层是xen的,这个就不去研究太多,这个用最简单的方式最好

+}

xenserver使用ceph的rbd的方法

xenserver使用ceph的rbd的方法

首先安装的xenserver6.5的环境,看到有地方有提到这个上面可以安装rbd的支持,网上有一种方式是libvirt+kvm方式,因为ceph对libviet是原生支持的,但是xenserver底层是xen的,这个就不去研究太多,这个用最简单的方式最好

https://github.com/mstarikov/rbdsr
这个是个第三方的插件,最近才出来的

实现原理是ssh到ceph的机器上获取到可以使用的rbd信息,然后在xenserver的图形界面上通过配置iscsi的方式去配置rbd,里面套用了iscsi的界面,实际去xenserver机器后台同样做的是map的操作
这个试了下,界面的操作都可以实现,都可以获取到rbd的信息,但是在最后提交的一下的时候,后台会报错误的信息,这个有可能才出来,还有点问题
这个地方可以用其他的方式实现,xenserver在添加硬盘的时候本来就支持的命令行模式,下面为实现方式

先检查内核的信息,这个有rbd模块,并且用的是3.10的,这个是用的centos7同等的内核,问题不大

@@ -333,7 +333,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

centos6安装calamari

centos6安装calamari

安装操作系统

首先安装操作系统centos6,安装过程选择的是base server,这个不相同不要紧,出现缺少包的时候去iso找出来安装就可以了

+}

centos6安装calamari

centos6安装calamari

安装操作系统

首先安装操作系统centos6,安装过程选择的是base server,这个不相同不要紧,出现缺少包的时候去iso找出来安装就可以了

calamari的简单介绍

首先简单的介绍下calamari的这个软件系统的组成,主要是calamari-server,romana,salt-minion,salt-server,diamond,

这些模块各自的作用:

    @@ -264,7 +264,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph写osd的配置文件ceph.conf

ceph写osd的配置文件ceph.conf

ceph在部署过程中是先进行部署,再去写配置文件的,而一些新手在部署完了后,并没有写配置文件,在重启服务器后,因为挂载点没有挂载,所以服务无法启动,所以需要写好配置文件
还有一种情况是集群有几百个osd,在新加入或者修改的时候,再去进行变更配置文件就是一个很麻烦的事情,所以写配置文件这个如果脚本来处理,就可以节约很多时间,所以写了一个脚本如下,这个地方如果熟悉python的可以用python写,我这个是自己使用,并且使用的频率不会太高,因此,怎么方便怎么来

+}

ceph写osd的配置文件ceph.conf

ceph写osd的配置文件ceph.conf

ceph在部署过程中是先进行部署,再去写配置文件的,而一些新手在部署完了后,并没有写配置文件,在重启服务器后,因为挂载点没有挂载,所以服务无法启动,所以需要写好配置文件
还有一种情况是集群有几百个osd,在新加入或者修改的时候,再去进行变更配置文件就是一个很麻烦的事情,所以写配置文件这个如果脚本来处理,就可以节约很多时间,所以写了一个脚本如下,这个地方如果熟悉python的可以用python写,我这个是自己使用,并且使用的频率不会太高,因此,怎么方便怎么来

脚本里面用了一个二进制文件是解析json用的,这个拷贝到运行的机器上就可以了

解析的二进制文件在这里下载:
http://stedolan.github.io/jq/

备用下载地址:
http://pan.baidu.com/s/1pKgefmr

@@ -226,7 +226,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

删除osd的正确方式

删除osd的正确方式

在ceph的集群当中关于节点的替换的问题,一直按照以前的方式进行的处理,处理的步骤如下:

+}

删除osd的正确方式

删除osd的正确方式

在ceph的集群当中关于节点的替换的问题,一直按照以前的方式进行的处理,处理的步骤如下:

停止osd进程

1
/etc/init.d/ceph stop osd.0

这一步是停止osd的进程,让其他的osd知道这个节点不提供服务了

将节点状态标记为out

1
ceph osd out osd.0
@@ -244,7 +244,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

centos7下做内存盘的方法

centos7下做内存盘的方法

在找这个资料的时候,基本没几个能用的或者过时了的,或者是换了概念,做的不是需要的那种盘,只有少数文章有提到关键部分应该怎么去操作,现在还是自己总结一下

+}

centos7下做内存盘的方法

centos7下做内存盘的方法

在找这个资料的时候,基本没几个能用的或者过时了的,或者是换了概念,做的不是需要的那种盘,只有少数文章有提到关键部分应该怎么去操作,现在还是自己总结一下

内存盘tmpfs和ramdisk的区别

这个在网上的很多资料里面都有提到,很多文章去写怎么做ramdisk的时候,都是去做的tmpfs,两者虽然都是使用的内存来存储东西,但是是完全有区别的

  • tmpfs这个只需要mount挂载就可以分配一个目录使用内存了,只是一个目录
  • @@ -302,7 +302,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph使用memdisk做journal

ceph使用memdisk做journal

记得在很久很久以前,ceph当时的版本是有提供使用内存做journal的配置的,当时是使用的tmpfs,但是现在的版本在搜资料的时候,发现关于这个的没怎么找到资料,邮件列表里面有人有提到怎么做,看了下大致的原理,然后还是自己来实践一次

+}

ceph使用memdisk做journal

ceph使用memdisk做journal

记得在很久很久以前,ceph当时的版本是有提供使用内存做journal的配置的,当时是使用的tmpfs,但是现在的版本在搜资料的时候,发现关于这个的没怎么找到资料,邮件列表里面有人有提到怎么做,看了下大致的原理,然后还是自己来实践一次

预备知识:

首先需要知道的是什么是内存盘,内存盘就是划分了一个内存空间来当磁盘使用来进行加速的,这个在某些操作系统里面会把/tmp/分区挂载到tmpfs下,来达到加速的目的,这样就是重启后,会清空/tmp的内容,centos7 默认的分区方式也使用了tmpfs来加速,df -h可以看下那个tmpfs就是内存盘了

本文使用的不是tmpfs,这个是因为tmpfs不是我们常见意义上的那种文件系统,它不能格式化,ceph 在进行日志创建的时候会去检查journal 所在分区的 uuid, 而tmpfs在检测的时候 会返回一个全0的字符串,这个在校验的时候显示的无效的,所以也就部署起来有问题,下面开始介绍我的做法,这个里面做法很多,步骤也可以自己去变化,这里只是提供了我的一种思路

我使用的是ramdisk,关于怎么做ramdisk这个也研究了一下,因为篇幅有点长并且属于预备步骤,请参考我的另外一篇文章:

@@ -362,7 +362,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph单机多mon的实现

ceph单机多mon的实现

ceph默认情况下是以主机名来作为mon的识别的,所以这个情况下用部署工具是无法创建多个mon的,这个地方使用手动的方式可以很方便的创建多个mon

+}

ceph单机多mon的实现

ceph单机多mon的实现

ceph默认情况下是以主机名来作为mon的识别的,所以这个情况下用部署工具是无法创建多个mon的,这个地方使用手动的方式可以很方便的创建多个mon

1、创建mon的数据存储目录

1
mkdir /var/lib/ceph/mon/ceph-1

2、获取当前的monmap

1
ceph mon getmap -o /tmp/monmap

3、根据当前的monmap生成mon的数据

1
ceph-mon -i 1  --mkfs --monmap /tmp/monmap
@@ -227,7 +227,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

CephFS用户认证格式写错的问题

CephFS用户认证格式写错的问题

问题三:

CephFS(James Gallagher)

+}

CephFS用户认证格式写错的问题

CephFS用户认证格式写错的问题

问题三:

CephFS(James Gallagher)

问题原文

Hi,
I’m looking to implement the CephFS on my Firefly release (v0.80) with an XFS native file system, but so far I’m having some difficulties. After following the ceph/qsg and creating a storage cluster, I have the following topology
……

分析:

问题提出者在配置了 auth 后,在客户端进行cephfs 挂载的时候,报了文件系统的错误,这个原因是问题提出者没有弄清楚 auth 的格式,而用了主机名去替代了用户名称

这个地方是在server端去创建用户

@@ -230,7 +230,7 @@
总结: input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph-deploy 部署加密osd异常的问题

ceph-deploy 部署加密osd异常的问题

问题解析

问题

journal encryption with dmcrypt (Reno Rainz)

+}

ceph-deploy 部署加密osd异常的问题

ceph-deploy 部署加密osd异常的问题

问题解析

问题

journal encryption with dmcrypt (Reno Rainz)

问题原文:

I’m trying to setup a cluster with encryption on osd data and journal.
To do that I use ceph-deploy with this 2 options –dmcrypt
–dmcrypt-key-dir on /dev/sdc disk.
……

分析:

问题的提出者试图在部署osd的时候使用 encryption 对 osd 进行加密,在用 ceph-deploy 的时候,部署的时候出现了失败

总结:

这个地方是因为 ceph-deploy 在进行 activate 操作的时候,把这个加密分区当做了 crypto_LUKS 分区格式进行了 mount 操作,这个肯定是不能成功的,因为这个加密盘是需要进行映射操作的,这里缺少了这个操作,不清楚是需要加其他的参数还是怎样,这个地方可以通过其他方式进行处理

@@ -233,7 +233,7 @@
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph-fuse卡顿无法写入的问题

ceph-fuse卡顿无法写入的问题

问题

ceph fuse closing stale session while still operable (Oliver Dzombic)

+}

ceph-fuse卡顿无法写入的问题

ceph-fuse卡顿无法写入的问题

问题

ceph fuse closing stale session while still operable (Oliver Dzombic)

问题原文:

Hi,
i am testing on centos 6 x64 minimal install.
i am mounting successfully:
ceph-fuse -m 10.0.0.1:6789,10.0.0.2:6789,10.0.0.3:6789,10.0.0.4:6789
/ceph-storage/
……

分析:

问题的提出者在使用ceph-fuse去挂载集群的时候,写入一个大文件的时候出现无法写入的问题,在mds的日志当中可以看到
closing stale session client.21176728 10.0.0.91:0/1635 after 301.302291 的日志信息

从日志检查过程看
ceph -s 出现了 62 requests are blocked > 32 sec
问题提出者在认证的时候,出现了语法错误 ceph auth list showed 可以检查,后经修改,还是问题一样

@@ -229,7 +229,7 @@
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

mon磁盘满重启的问题

mon磁盘满重启的问题

问题

Ceph monitors 100% full filesystem, refusing start

+}

mon磁盘满重启的问题

mon磁盘满重启的问题

问题

Ceph monitors 100% full filesystem, refusing start

问题原文

I have an issue with a (not in production!) Ceph cluster which I’m
trying to resolve.

分析

这是作者在使用多个mon的时候,数据出现了磁盘满的情况,然后重启mon进行压缩的时候,发现这个到了mon的最小空间阀值无法启动,然后就无法压缩,这个问题,还是因为对硬件的不重视,对软件的要求不清楚造成的

解决办法

mon的磁盘空间加大,这个在PB级别的集群中更需要重视这个问题,特别是在集群频繁的读写,或者pg变化比较多,osd变化比较多的情况下,这个数据量将是很大的,因为里面是用了leveldb的数据库,并且多个mon之间是需要同步的数据的,然后各自再做compact的操作,所以建议如下:

@@ -231,7 +231,7 @@
总结
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu安装软件自动交互

ubuntu安装软件自动交互

在ubuntu下安装软件过程中可能会出现需要你输入密码或者其他的一些交互类的操作,这样在脚本安装的时候就可能出现阻断,这个在ubuntu里面已经考虑到了这个情况,以前我在安装这个的时候,通过的是脚本传递参数的方式,这里介绍的是原生的控制方式,这个方式更好

+}

ubuntu安装软件自动交互

ubuntu安装软件自动交互

在ubuntu下安装软件过程中可能会出现需要你输入密码或者其他的一些交互类的操作,这样在脚本安装的时候就可能出现阻断,这个在ubuntu里面已经考虑到了这个情况,以前我在安装这个的时候,通过的是脚本传递参数的方式,这里介绍的是原生的控制方式,这个方式更好

以安装mariadb-server-5.5为例

1、查询需要应答的问题

首先通过命令查询这个软件需要问答什么问题

1
2
3
4
5
6
7
8
9
10
root@mytest:/var/cache/apt/archives# debconf-show mariadb-server-5.5 
* mysql-server/root_password: (password omitted)
* mysql-server/root_password_again: (password omitted)
mysql-server/password_mismatch:
mysql-server/error_setting_password:
* mariadb-server/oneway_migration: true
mysql-server-5.5/nis_warning:
mysql-server-5.5/postrm_remove_databases: false
mariadb-server-5.5/really_downgrade: false
mysql-server/no_upgrade_when_using_ndb:
@@ -233,7 +233,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

diamond收集插件的自定义

diamond收集插件的自定义

diamond是与graphite配合使用的一个数据收集的软件,关于这个配置的资料很多,使用起来也比较简单,详细的安装和配置会在后面的关于整套监控系统的文章里面写到,本篇是专门讲解怎么自定义这个数据收集的插件

+}

diamond收集插件的自定义

diamond收集插件的自定义

diamond是与graphite配合使用的一个数据收集的软件,关于这个配置的资料很多,使用起来也比较简单,详细的安装和配置会在后面的关于整套监控系统的文章里面写到,本篇是专门讲解怎么自定义这个数据收集的插件

diamond的结构比较简单:

  • Collector 数据采集的模块
  • @@ -251,7 +251,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

nginx状态监控统计

nginx状态监控统计

nginx是一款很优秀的web服务器软件,很多地方都有接触和使用到他,大部分的场景压力还没达到需要调优的地步,而调优的难点其实不在于调,而在于各项状态的监控,能够很快的找到资源在什么时候出现问题,调整前后出现的变化,如果都不知道变化在哪里所做的调优只能是凭感觉的

+}

nginx状态监控统计

nginx状态监控统计

nginx是一款很优秀的web服务器软件,很多地方都有接触和使用到他,大部分的场景压力还没达到需要调优的地步,而调优的难点其实不在于调,而在于各项状态的监控,能够很快的找到资源在什么时候出现问题,调整前后出现的变化,如果都不知道变化在哪里所做的调优只能是凭感觉的

之前看到有技术人员用nginx作为rgw的前端的时候,通过优化去实现将nginx的并发提高到很大,而不出现4xx等问题,nginx的access.log里面是有记录访问的状态码的,而这个日志的分析如果是一次次的去看,这样的分析是无法用精确的数据去展示的

最开始的想法是想根据时间点去统计时间点的状态码,后来发现这样做既复杂,又无法输出到一些数据展示软件当中,实际上我只需要统计一定时间的总的状态值,然后定期去取这个值,然后在数据展示的时候,就可以看到一个数值的曲线图,增量即为这个时间区间所产生的状态值

下面就是我的实现,一个脚本就可以统计了,这个是最初的版本,纯统计状态码,还没有区分读写分离的情况,这个在后面会加入分离的情况

@@ -233,7 +233,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

yum安装指定版本ceph包

yum安装指定版本ceph包

安装ceph包的方式有很多,这里讲的是从官网直接通过yum源的安装方式进行安装

+}

yum安装指定版本ceph包

yum安装指定版本ceph包

安装ceph包的方式有很多,这里讲的是从官网直接通过yum源的安装方式进行安装

yum源对应的地址为
http://download.ceph.com/rpm-hammer/el6/x86_64/

怎么配置ceph源就不在这里赘述了

下图为ceph官网的yum源里面的文件列表:

@@ -234,7 +234,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

丢了ceph.mon.keying解决办法

丢了ceph.mon.keying解决办法

在linux操作系统下,可能因为一些很小的误操作,都会造成非常重要的文件的丢失,而文件的备份并不是每时每刻都会注意到,一般是等到文件丢失了才会去想办法,这里讲下ceph.mon.keyring丢失的解决办法

+}

丢了ceph.mon.keying解决办法

丢了ceph.mon.keying解决办法

在linux操作系统下,可能因为一些很小的误操作,都会造成非常重要的文件的丢失,而文件的备份并不是每时每刻都会注意到,一般是等到文件丢失了才会去想办法,这里讲下ceph.mon.keyring丢失的解决办法

1、没有启用部署认证的

auth_cluster_required =none

@@ -238,7 +238,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

快速增加osdmap的epoch

快速增加osdmap的epoch

最近因为一个实验需要用到一个功能,需要快速的增加 ceph 的 osdmap 的 epoch 编号

+}

快速增加osdmap的epoch

快速增加osdmap的epoch

最近因为一个实验需要用到一个功能,需要快速的增加 ceph 的 osdmap 的 epoch 编号

查询osd的epoch编号

1
2
root@lab8107:~# ceph osd stat
osdmap e4686: 8 osds: 8 up, 8 in

上面显示的 e4686 即为osdmap的epoch的编号

增加epoch

现在需要增加1000

@@ -227,7 +227,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph Bluestore首测

Ceph Bluestore首测

Bluestore 作为 Ceph Jewel 版本推出的一个重大的更新,提供了一种之前没有的存储形式,一直以来ceph的存储方式一直是以filestore的方式存储的,也就是对象是以文件方式存储在osd的磁盘上的,pg是以目录的方式存在于osd的磁盘上的
在发展过程中,中间出现了kvstore,这个还是存储在文件系统之上,以leveldb或者rocksdb的方式存储对象数据,这个也没有推广开来,性能上没有太大的改观,在某些情况下性能还低于filestore
最终在sage的大力支持下,ceph社区准备撸一个新的文件系统,这个系统类似于rocksdb,但是数据是可以直接存储到裸设备上去的,也就是存储对象数据的地方是没有传统意义上的文件系统的,并且解决了一种被抱怨的写双份数据的问题,在filestore中,数据需要先写入journal再入磁盘,对于磁盘来说实际就是双份写了

+}

Ceph Bluestore首测

Ceph Bluestore首测

Bluestore 作为 Ceph Jewel 版本推出的一个重大的更新,提供了一种之前没有的存储形式,一直以来ceph的存储方式一直是以filestore的方式存储的,也就是对象是以文件方式存储在osd的磁盘上的,pg是以目录的方式存在于osd的磁盘上的
在发展过程中,中间出现了kvstore,这个还是存储在文件系统之上,以leveldb或者rocksdb的方式存储对象数据,这个也没有推广开来,性能上没有太大的改观,在某些情况下性能还低于filestore
最终在sage的大力支持下,ceph社区准备撸一个新的文件系统,这个系统类似于rocksdb,但是数据是可以直接存储到裸设备上去的,也就是存储对象数据的地方是没有传统意义上的文件系统的,并且解决了一种被抱怨的写双份数据的问题,在filestore中,数据需要先写入journal再入磁盘,对于磁盘来说实际就是双份写了

在这里不做过多的探讨技术上的细节,bluestore处于开发阶段,在最新的版本的ceph中,发现已经集成了这个,虽然还是实验阶段,但是还是体现出其未来巨大的价值

环境准备

由于没有测试大量的设备,就在一个小环境下进行性能的验证,基准的性能不需要大量的机器,至于数据可靠性,就靠自己去判断了

硬件环境:

@@ -233,7 +233,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph查询rbd的使用容量(快速)

ceph查询rbd的使用容量(快速)

ceph在Infernalis加入了一个功能是查询rbd的块设备的使用的大小,默认是可以查询的,但是无法快速查询,那么我们来看看这个功能是怎么开启的

+}

ceph查询rbd的使用容量(快速)

ceph查询rbd的使用容量(快速)

ceph在Infernalis加入了一个功能是查询rbd的块设备的使用的大小,默认是可以查询的,但是无法快速查询,那么我们来看看这个功能是怎么开启的

ceph版本

1
2
root@lab8107:~/ceph# ceph -v
ceph version 9.2.0 (bb2ecea240f3a1d525bcb35670cb07bd1f0ca299)

创建RBD设备

我们先来创建一个rbd

@@ -251,7 +251,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

让磁盘硬盘灯常闪定位盘

让磁盘硬盘灯常闪定位盘

通过dd来读取让硬盘灯闪来定位磁盘的位置

+}

让磁盘硬盘灯常闪定位盘

让磁盘硬盘灯常闪定位盘

通过dd来读取让硬盘灯闪来定位磁盘的位置

1
2
3
4
5
6
#!/bin/bash
hd=$1
for num in {1..5};do
dd if="$hd" of="/dev/null" bs=4M count=1000 iflag=direct conv=noerror >/dev/null 2>&1
sleep 1
done

写于: 2014年11月07日
更新于: 2015年03月24日

头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd-mirror新功能

rbd-mirror新功能

RBD 的 mirroring 功能将会在下一个稳定版本Jewel中实现,这个Jewel版本已经发布了第一个版本10.1.0,这个功能已经在这个发布的版本中实现了

+}

rbd-mirror新功能

rbd-mirror新功能

RBD 的 mirroring 功能将会在下一个稳定版本Jewel中实现,这个Jewel版本已经发布了第一个版本10.1.0,这个功能已经在这个发布的版本中实现了

一、基本原理
我们试图解决的或者至少需要克服的问题是,ceph在内部是强一致性的,这个对于跨区域的情况数据同步是无法接受的,一个请求需要异地返回再确认完成,这个在性能上肯定是无法接受的,这就是为什么基本上无法部署跨区域的ceph集群

因此我们需要有一种机制能够让我们在不同区域的集群之间复制块设备。这个能够帮助我们实现两个功能:

    @@ -304,7 +304,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph在centos7下一个不容易发现的改变

ceph在centos7下一个不容易发现的改变

在centos6以及以前的osd版本,在启动osd的时候,回去根据ceph.conf的配置文件进行挂载osd,然后进行进程的启动,这个格式是这样的

+}

ceph在centos7下一个不容易发现的改变

ceph在centos7下一个不容易发现的改变

在centos6以及以前的osd版本,在启动osd的时候,回去根据ceph.conf的配置文件进行挂载osd,然后进行进程的启动,这个格式是这样的

1
2
3
[osd.0]
host = hostname
devs=/dev/sdb1

启动的时候就会把sdb1盘符挂载到0的目录里面去了

然后在centos7的版本的时候,发现居然不写配置文件也能够自动挂载启动,这个地方是什么地方发生了变化,在做了一些日志的查询以后,发现centos7下居然做了一个改变

@@ -232,7 +232,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

记一次ceph的故障修复(20160408)

记一次ceph的故障修复(20160408)

ceph的在正常运行的时候基本不会出现故障,出现故障一般在变动的时候,具体有下面几种可能出现的情形

+}

记一次ceph的故障修复(20160408)

记一次ceph的故障修复(20160408)

ceph的在正常运行的时候基本不会出现故障,出现故障一般在变动的时候,具体有下面几种可能出现的情形

  • 软件升级
  • 增加存储节点
  • @@ -268,7 +268,7 @@

    后记

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

记一次不完全成功到成功的失效恢复(20160412)

记一次不完全成功到成功的失效恢复(20160412)

更新

在经历了好几天后,失效的环境最终变成了可用状态,只能说有的时候不放弃还真是有点用的

+}

记一次不完全成功到成功的失效恢复(20160412)

记一次不完全成功到成功的失效恢复(20160412)

更新

在经历了好几天后,失效的环境最终变成了可用状态,只能说有的时候不放弃还真是有点用的

在不久前处理了一个故障恢复以后,又碰上一个群友的集群出现了严重故障,本篇将记录这个中间大致处理的过程,一些细节在以后会补充

首先看到给出的截图显示的是大量的pg处于异常的状态,从经验上判断,环境要么处于down机的边缘,或者是刚经历了一次大量的重启,这个时候集群可以说是前端的访问肯定全断的,这个故障的时候资源一般会比较紧张,所以在启动的过程中也要注意不要触发更大面积的down机,对于集群来说是会有连带效应的

在启动了部分osd后,集群还是有大量的pg出现的是down+peering的状态,而发现down的osd实际全部在一台服务器上的,这个从ceph的架构来说是不应该出现这个状态的,这个可能是在down机过程中,频繁的pg的状态变化造成了pg的状态停留在之前的down的状态上,而pg出现锁死的状况,这个在之前的那位群友的环境中出现过一次,那个是多机有osd出现异常的情况,这次是单机出现的情况

@@ -251,7 +251,7 @@

后续

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

inkscope完整安装配置

inkscope完整安装配置

准备centos7基础系统

首先安装基础系统centos7 在安装选项那里选择base web server ,选择其他的也可以,选择mini安装会缺很多常用的软件包,后续需要一个个安装比较麻烦

+}

inkscope完整安装配置

inkscope完整安装配置

准备centos7基础系统

首先安装基础系统centos7 在安装选项那里选择base web server ,选择其他的也可以,选择mini安装会缺很多常用的软件包,后续需要一个个安装比较麻烦

关闭防火墙相关

1
2
3
4
[root@inkscope ~]# setenforce 0
[root@inkscope ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@inkscope ~]# systemctl stop firewalld
[root@inkscope ~]# systemctl disable firewalld

更新源相关的

1
2
3
[root@inkscope ~]# rm -rf /etc/yum.repos.d/*.repo
[root@inkscope ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@inkscope ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

修改里面的系统版本为7.2.1511,当前用的centos的版本的的yum源可能已经清空了

@@ -324,7 +324,7 @@

展示

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

backfill和recovery的最优值

backfill和recovery的最优值

ceph在增加osd的时候会触发backfill,让数据得到平均,触发数据的迁移
ceph在移除osd的时候需要在节点上进行数据的恢复,也有数据的迁移和生成

+}

backfill和recovery的最优值

backfill和recovery的最优值

ceph在增加osd的时候会触发backfill,让数据得到平均,触发数据的迁移
ceph在移除osd的时候需要在节点上进行数据的恢复,也有数据的迁移和生成

只要是集群里面有数据的变动就会有网卡流量,cpu,内存等资源的占用,并且最重要的是还有磁盘的占用,这个客户端也是需要对磁盘进行访问的,当请求出现碰撞的时候,肯定会比正常的情况下要慢很多,而且还有可能因为资源方面的原因而引起机器down机等异常状况的出现

主要引起的问题可能:

    @@ -266,7 +266,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

mon的稳定性问题

引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

性能数据的可视化

性能数据的可视化

在工作当中,很多时候我们在去分析一个性能的时候,会产生大量的数据,面对数据的时候我们一般应该会有以下几个处理过程

+}

性能数据的可视化

性能数据的可视化

在工作当中,很多时候我们在去分析一个性能的时候,会产生大量的数据,面对数据的时候我们一般应该会有以下几个处理过程

  • 直接肉眼看
    这个属于第一个级别,比如监控系统负载的时候去用top观察,这个方法是我最开始经常使用的一种方法,这个适合异常的时候使用,但是实际上获取的数据是有偏差的
  • 有监控系统
    使用数据监控系统对需要监控的数据进行监控,这个前提是有一个监控系统,并且方便的去增加数据,可以根据需求去设定数据,这个监控系统有很多,能可视化的也很多,这篇文章就不做介绍
  • @@ -235,7 +235,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph卡在active+remapped状态

ceph卡在active+remapped状态

最近看到了有人的环境出现了出现了卡在active+remapped状态,并且卡住不动的状态,从pg的状态去看,这个pg值分配了主的pg,没有分配到副本的osd,集群的其他设置一切正常

+}

ceph卡在active+remapped状态

ceph卡在active+remapped状态

最近看到了有人的环境出现了出现了卡在active+remapped状态,并且卡住不动的状态,从pg的状态去看,这个pg值分配了主的pg,没有分配到副本的osd,集群的其他设置一切正常

这个从网上搜寻到的资料来看,大多数都是由于不均衡的主机osd引起的,所谓不平衡的osd

  • 一台机器上面的磁盘的容量不一样,有的3T,有的1T
  • @@ -278,7 +278,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

支持jewel版本的calamari

支持jewel版本的calamari

之前测试了下,发现calamari不支持jewel版本的,是因为接口了有了一些变化,在提出这个问题后,作者给出了回答,说肯定会支持的,并且做了一点小的改动,就可以支持了,这个作者merge了到了github的一些分支当中,但是还没有merge到最新的1.4的分支合master分支当中,这个可能是因为1.4还在做一些功能的开发

+}

支持jewel版本的calamari

支持jewel版本的calamari

之前测试了下,发现calamari不支持jewel版本的,是因为接口了有了一些变化,在提出这个问题后,作者给出了回答,说肯定会支持的,并且做了一点小的改动,就可以支持了,这个作者merge了到了github的一些分支当中,但是还没有merge到最新的1.4的分支合master分支当中,这个可能是因为1.4还在做一些功能的开发

我使用作者的修改好的分支打好了包,直接可以使用,测试了ubuntu14.04 和centos 7的版本都可以使用,下面是百度云的链接,欢迎使用和测试

ubuntu版本下载地址:

ubuntu-jewel-calamari
密码:h61u

centos7版本下载地址

centos-jewel-calamari
密码:gbmr

@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph的jewel新支持的rbd-nbd

ceph的jewel新支持的rbd-nbd

jewel版本新增加了一个驱动NBD,允许librbd实现一个内核级别的rbd

+}

ceph的jewel新支持的rbd-nbd

ceph的jewel新支持的rbd-nbd

jewel版本新增加了一个驱动NBD,允许librbd实现一个内核级别的rbd

NBD相比较于kernel rbd:

  • rbd-ko是根据内核主线走的,升级kernel
  • @@ -275,7 +275,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

mon到底能坏几个

mon到底能坏几个

如果是在做ceph的配置,我们会经常遇到这几个问题

+}

mon到底能坏几个

mon到底能坏几个

如果是在做ceph的配置,我们会经常遇到这几个问题

  1. 问:ceph需要配置几个mon
    答:配置一个可以,但是坏了一个就不行了,需要配置只是三个mon,并且需要是奇数个
  2. 问:ceph的mon能跟osd放在一起么,需要配置很好么?
    答:能跟放在一起,但是建议在环境允许的情况下一定独立机器,并且mon的配置能好尽量好,能上ssd就上ssd
  3. @@ -256,7 +256,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

利用虚拟化环境虚拟nvme盘

利用虚拟化环境虚拟nvme盘

前情介绍

SPDK

SPDK的全称为Storage Performance Development Kit ,是Intel发起的一个开源驱动项目,这个是一个开发套件,可以让应用程序在用户态去访问存储资源,具体做能做什么可以去官网看一下 SPDK官网

+}

利用虚拟化环境虚拟nvme盘

利用虚拟化环境虚拟nvme盘

前情介绍

SPDK

SPDK的全称为Storage Performance Development Kit ,是Intel发起的一个开源驱动项目,这个是一个开发套件,可以让应用程序在用户态去访问存储资源,具体做能做什么可以去官网看一下 SPDK官网

NVME

NVMe其实与AHCI一样都是逻辑设备接口标准,NVMe全称Non-Volatile Memory Express,非易失性存储器标准,是使用PCI-E通道的SSD一种规范,NVMe的设计之初就有充分利用到PCI-E SSD的低延时以及并行性,还有当代处理器、平台与应用的并行性。SSD的并行性可以充分被主机的硬件与软件充分利用,相比与现在的AHCI标准,NVMe标准可以带来多方面的性能提升。

Bluestore

BlueStore 是用来存储ceph的数据的地方,提供了一种在块设备上直接写入方式的存储。这个是因为之前ceph社区尝试做了一个kvstore,但是性能达不到想要的效果,然后基于rocksdb的原型,重新开发了一套存储系统,BlueStore直接消耗原始分区。还有一个分区是存储元数据的,实际上就是一个RocksDB键/值数据库存储,这个比之前的filestore最大的优势就是去掉了journal,从而提供了更平滑的IO

SPDK+NVME+Bluestore能产生什么化学反应

目前这一块走的比较前沿的就是xsky了,这块的最初的推动力量是Intel,NVME的硬件的推出,需要一个很好的催化剂,传统的内核中断式的访问磁盘的方式,已经不能最大化发挥NVME的性能了,因此推出了SPDK的套件,可以在用户态的去访问磁盘数据,Bluestore按照这个标准就可以去以最大化的跑出磁盘的性能了,从而给上层提供一个非常强悍的IO性能,目前来说这几项都是很新的东西,如果没有特别强的技术,或者找Intel做技术支持话,用好还是需要再等一段时间

@@ -249,7 +249,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd无法map(rbd feature disable)

rbd无法map(rbd feature disable)

在jewel版本下默认开启了rbd的一些属性

+}

rbd无法map(rbd feature disable)

rbd无法map(rbd feature disable)

在jewel版本下默认开启了rbd的一些属性

1
2
[root@lab8106 ~]# ceph --show-config|grep rbd|grep features 
rbd_default_features = 61

RBD属性表:
此处输入图片的描述
61的意思是上面图中的bit码相加得到的值

@@ -255,7 +255,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

加速OSD的启动

加速OSD的启动

ceph是目前开源分布式存储里面最好的一个,但是在高负载下会有很多异常的情况会发生,有些问题无法完全避免,但是可以进行一定的控制,比如:在虚拟化场景下,重启osd会让虚拟机挂起的情况

+}

加速OSD的启动

加速OSD的启动

ceph是目前开源分布式存储里面最好的一个,但是在高负载下会有很多异常的情况会发生,有些问题无法完全避免,但是可以进行一定的控制,比如:在虚拟化场景下,重启osd会让虚拟机挂起的情况

重新启动osd会给这个osd进程所在的磁盘带来额外的负载,随着前面业务的需求的增长,会增加对存储的I/O的需求,虽然这个对于整个业务系统来说是好事,但是在某些情况下,会越来越接近存储吞吐量的极限,通常情况下没有异常发生的时候,都是正常的,一旦发生异常,集群超过了临界值,性能会变得剧烈的抖动

对于这种情况,一般会升级硬件来避免集群从一个高负载的集群变成一个过载的集群。本章节的重点在重启osd进程这个问题

问题分析

OSD重启是需要重视的,这个地方是ceph的一个设计的弱点。ceph集群有很多的OSD进程,OSD管理对磁盘上的对象的访问,磁盘的对象被分布到PG组当中,对象有相同的分布,副本会在相同的PG当中存在,如果不理解可以看看(ceph概览

@@ -262,7 +262,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

CPU相关的学习

CPU相关的学习

我理解的CPU

目前对cpu的了解停留在这个水平
查看CPU型号:

+}

CPU相关的学习

CPU相关的学习

我理解的CPU

目前对cpu的了解停留在这个水平
查看CPU型号:

1
2
cat /proc/cpuinfo |grep model |tail -n 1
model name : Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz

查看有多少processor:

@@ -341,7 +341,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rgw实现nfs的首测

rgw实现nfs的首测

功能介绍

关于rgw实现nfs接口这个,刚接触的人可能并不清楚这个是个什么样的服务架构,rgw是ceph里面的对象存储接口,而nfs则是纯正的网络文件系统接口,这二者如何结合在一起,关于这个,有几个相关的链接供大家了解

+}

rgw实现nfs的首测

rgw实现nfs的首测

功能介绍

关于rgw实现nfs接口这个,刚接触的人可能并不清楚这个是个什么样的服务架构,rgw是ceph里面的对象存储接口,而nfs则是纯正的网络文件系统接口,这二者如何结合在一起,关于这个,有几个相关的链接供大家了解

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd的增量备份和恢复

rbd的增量备份和恢复

前言

快照的功能一般是基于时间点做一个标记,然后在某些需要的时候,将状态恢复到标记的那个点,这个有一个前提是底层的东西没用破坏,举个简单的例子,Vmware 里面对虚拟机做了一个快照,然后做了一些系统的操作,想恢复快照,前提是存储快照的存储系统没用破坏,一旦破坏了是无法恢复的

+}

rbd的增量备份和恢复

rbd的增量备份和恢复

前言

快照的功能一般是基于时间点做一个标记,然后在某些需要的时候,将状态恢复到标记的那个点,这个有一个前提是底层的东西没用破坏,举个简单的例子,Vmware 里面对虚拟机做了一个快照,然后做了一些系统的操作,想恢复快照,前提是存储快照的存储系统没用破坏,一旦破坏了是无法恢复的

ceph里面也有快照的功能,同样的,在这里的快照是用来保存存储系统上的状态的,数据的快照能成功恢复的前提是存储系统是好的,而一旦存储系统坏了,快照同时会失效的,本篇文章利用ceph的快照去实现一个增量的备份功能,网上也有很多这个脚本,这里主要是对里面细节做一个实践,具体集成到一套系统里面去,自己去做一个策略就行了,总之多备份一下,以备不时之需,并且也可以实现跨机房的增量备份,这个在某些云计算公司已经实现了,这样一旦发生故障的时候,能够把损失减到最小

快照的创建和数据的导出

@@ -279,7 +279,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

parted分区对齐

parted分区对齐

分区提示未对齐

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@lab8106 ceph]# parted /dev/sdd 
GNU Parted 3.1
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: SEAGATE ST3300657SS (scsi)
Disk /dev/sdd: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags

(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
+}

parted分区对齐

parted分区对齐

分区提示未对齐

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@lab8106 ceph]# parted /dev/sdd 
GNU Parted 3.1
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: SEAGATE ST3300657SS (scsi)
Disk /dev/sdd: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags

(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?

Warning: The resulting partition is not properly aligned for best performance.
分区的时候提示不是最好的模式,这个是因为没有对齐的原因,在默认情况下我都是

1
mkpart primary 1 100%   
@@ -254,7 +254,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

重构rbd镜像的元数据

重构rbd镜像的元数据

这个已经很久之前已经实践成功了,现在正好有时间就来写一写,目前并没有在其他地方有类似的分享,虽然我们自己的业务并没有涉及到云计算的场景,之前还是对rbd镜像这一块做了一些基本的了解,因为一直比较关注故障恢复这一块,东西并不难,总之一切不要等到出了问题再去想办法,提前准备总是好的,如果你有集群的问题,生产环境需要恢复的欢迎找我

+}

重构rbd镜像的元数据

重构rbd镜像的元数据

这个已经很久之前已经实践成功了,现在正好有时间就来写一写,目前并没有在其他地方有类似的分享,虽然我们自己的业务并没有涉及到云计算的场景,之前还是对rbd镜像这一块做了一些基本的了解,因为一直比较关注故障恢复这一块,东西并不难,总之一切不要等到出了问题再去想办法,提前准备总是好的,如果你有集群的问题,生产环境需要恢复的欢迎找我

前言

rbd的镜像的元数据,这个是什么?这里所提到的元数据信息,是指跟这个image信息有关的元数据信息,就是image的大小名称等等一系列的信息,本篇将讲述怎么去重构这些信息,重构的前提就是做好了信息的记录,然后做重构

记录元数据信息

创建一个image

1
[root@lab8106 ~]# rbd -p rbd create zp --size 40000

这里是在rbd存储池当中创建的一个名称为zp的,大小为40G的image文件

@@ -280,7 +280,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

通过ceph-deploy安装不同版本ceph

通过ceph-deploy安装不同版本ceph

之前有在论坛写了怎么用 yum 安装 ceph,但是看到ceph社区的群里还是有人经常用 ceph-deploy 进行安装,然后会出现各种不可控的情况,虽然不建议用ceph-deploy安装,但是既然想用,那就研究下怎么用好

+}

通过ceph-deploy安装不同版本ceph

通过ceph-deploy安装不同版本ceph

之前有在论坛写了怎么用 yum 安装 ceph,但是看到ceph社区的群里还是有人经常用 ceph-deploy 进行安装,然后会出现各种不可控的情况,虽然不建议用ceph-deploy安装,但是既然想用,那就研究下怎么用好

首先机器需要安装 ceph-deploy 这个工具,机器上应该安装好 epel 源和 base 源,这个可以参考上面的那个连接,也可以自己准备好

安装ceph-deploy

使用yum直接安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@lab8106 yum.repos.d]# yum install ceph-deploy
Loaded plugins: fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package ceph-deploy.noarch 0:1.5.25-1.el7 will be installed
···
===================================================================================================
Package Arch Version Repository Size
===================================================================================================
Installing:
ceph-deploy noarch 1.5.25-1.el7 epel 156 k
···
Installed:
ceph-deploy.noarch 0:1.5.25-1.el7
Complete!
@@ -261,7 +261,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

解决自动安装Freebsd系统盘符无法确定问题

解决自动安装Freebsd系统盘符无法确定问题

最近因为需要用到Freebsd,所以研究了打包的一些方法,这个没什么太大问题,通过网上的一些资料可以解决,但是由于确实不太熟悉这套系统,还是碰上了一些比较麻烦的地方,目前也没看到有人写如何处理,那就自己总结一下,以免以后再用忘记如何处理

+}

解决自动安装Freebsd系统盘符无法确定问题

解决自动安装Freebsd系统盘符无法确定问题

最近因为需要用到Freebsd,所以研究了打包的一些方法,这个没什么太大问题,通过网上的一些资料可以解决,但是由于确实不太熟悉这套系统,还是碰上了一些比较麻烦的地方,目前也没看到有人写如何处理,那就自己总结一下,以免以后再用忘记如何处理

问题来源

在linux下的iso自动安装的时候,在无法确定盘符的情况下,可以不写盘符,从而在遇到任何奇怪的磁盘的时候也是能安装的,比如 sda,xvda,vda,这些都可以通过不精确盘符的方式解决

而在freebsd当中处理就不一样了

1
2
3
4
5
cat ./etc/installerconfig
PARTITIONS="da0 { 512K freebsd-boot, auto freebsd-ufs / }"
DISTRIBUTIONS="custom_kernel.txz base.txz lib32.txz custom_files.txz"
#!/bin/sh
···
@@ -248,7 +248,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Module ceph not found解决办法

Module ceph not found解决办法

问题

有可能你在进行 Ceph 文件系统挂载的时候出现下面的提示:

+}

Module ceph not found解决办法

Module ceph not found解决办法

问题

有可能你在进行 Ceph 文件系统挂载的时候出现下面的提示:

modprobe: FATAL: Module ceph not found.

mount.ceph: modprobe failed, exit status 1

mount error: ceph filesystem not supported by the system

@@ -243,7 +243,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何替换Ceph的Journal

如何替换Ceph的Journal

很多人会提出这样的问题:

+}

如何替换Ceph的Journal

如何替换Ceph的Journal

很多人会提出这样的问题:

  • 能不能够将 Ceph journal 分区从一个磁盘替换到另一个磁盘?
  • 怎样替换 Ceph 的 journal 分区?
  • @@ -292,7 +292,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph 状态报警告 pool rbd has many more objects per pg than average (too few pgs?)

Ceph 状态报警告 pool rbd has many more objects per pg than average (too few pgs?)

定位问题

1
2
3
4
5
6
7
8
9
10
11
[root@lab8106 ~]# ceph -s
cluster fa7ec1a1-662a-4ba3-b478-7cb570482b62
health HEALTH_WARN
pool rbd has many more objects per pg than average (too few pgs?)
monmap e1: 1 mons at {lab8106=192.168.8.106:6789/0}
election epoch 30, quorum 0 lab8106
osdmap e157: 2 osds: 2 up, 2 in
flags sortbitwise
pgmap v1023: 417 pgs, 13 pools, 18519 MB data, 15920 objects
18668 MB used, 538 GB / 556 GB avail
417 active+clean
+}

Ceph 状态报警告 pool rbd has many more objects per pg than average (too few pgs?)

Ceph 状态报警告 pool rbd has many more objects per pg than average (too few pgs?)

定位问题

1
2
3
4
5
6
7
8
9
10
11
[root@lab8106 ~]# ceph -s
cluster fa7ec1a1-662a-4ba3-b478-7cb570482b62
health HEALTH_WARN
pool rbd has many more objects per pg than average (too few pgs?)
monmap e1: 1 mons at {lab8106=192.168.8.106:6789/0}
election epoch 30, quorum 0 lab8106
osdmap e157: 2 osds: 2 up, 2 in
flags sortbitwise
pgmap v1023: 417 pgs, 13 pools, 18519 MB data, 15920 objects
18668 MB used, 538 GB / 556 GB avail
417 active+clean

集群出现了这个警告,pool rbd has many more objects per pg than average (too few pgs?) 这个警告在hammer版本里面的提示是 pool rbd has too few pgs

@@ -271,7 +271,7 @@ if (true) { input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Linux配置邮件发送信息

Linux配置邮件发送信息

背景

一般情况下,我们的IT系统都会有相关的告警的处理,有的是邮件,有的是短信,这些都能很方便的获得一些有用的信息
在某些时候我们没有这样的系统,而自己又需要定期的获取一些信息的时候,配置一个邮件发送是很有用的

+}

Linux配置邮件发送信息

Linux配置邮件发送信息

背景

一般情况下,我们的IT系统都会有相关的告警的处理,有的是邮件,有的是短信,这些都能很方便的获得一些有用的信息
在某些时候我们没有这样的系统,而自己又需要定期的获取一些信息的时候,配置一个邮件发送是很有用的

配置方法

网上的大部分的方法使用的是sendmail的发送方法,这个地方我们只需要简单的发送邮件的需求,可以直接配置SMTP发送的模式

修改配置文件,填写发送的相关信息

修改配置文件 /etc/mail.rc
在最下面添加发送邮箱的信息

@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

重写ceph-lazy

重写ceph-lazy

前言

这个工具最开始是从sebastien的blog里面看到的,这个是 Gregory Charot(工具的作者)写的,通常我们在获取一个ceph的信息的时候,需要敲一连串的命令去获得自己需要的信息,可能需要一大堆的解析才能完成,而经常出现的是,使用了后,下次使用的时候,又要重来一遍,所以作者把这些常用的操作做了一些归纳,形成了一个查询的工具,很多人有个相同的观点就是,越懒,就会想办法提高效率,当然,首先得有提高效率的意识,否则只剩下懒了

+}

重写ceph-lazy

重写ceph-lazy

前言

这个工具最开始是从sebastien的blog里面看到的,这个是 Gregory Charot(工具的作者)写的,通常我们在获取一个ceph的信息的时候,需要敲一连串的命令去获得自己需要的信息,可能需要一大堆的解析才能完成,而经常出现的是,使用了后,下次使用的时候,又要重来一遍,所以作者把这些常用的操作做了一些归纳,形成了一个查询的工具,很多人有个相同的观点就是,越懒,就会想办法提高效率,当然,首先得有提高效率的意识,否则只剩下懒了

我做的事情就是把作者用shell的逻辑转换成了python的版本,这样也方便自己以后的扩展,这里感谢作者做的一些工作,让我很快就能完成了,这里并不是重复造车轮,本来自己就不会python,权当练手了

在linux下面我是不建议用中文的,但是这个工具里面还是改成用中文提示,因为中文可能看上去更清楚需要做的是一个什么事情,这个仅仅是一个查询工具

有一段时间没有更新blog了,主要是最近比较忙,没有时间去看太多的资料,没有时间来写下更多的东西,有时间还是会坚持写下去

@@ -294,7 +294,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Proftp最简匿名访问配置

Proftp最简匿名访问配置

前言

每一次做ftp的配置都要弄半天,找文档,各种权限控制的坑,折腾半天,这次还是准备记录下来,以备不时之需,这里不配置什么高级的功能,就去实现一个最简单的配置

+}

Proftp最简匿名访问配置

Proftp最简匿名访问配置

前言

每一次做ftp的配置都要弄半天,找文档,各种权限控制的坑,折腾半天,这次还是准备记录下来,以备不时之需,这里不配置什么高级的功能,就去实现一个最简单的配置

匿名用户的上传和下载

@@ -272,7 +272,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph中的Copyset概念和使用方法

Ceph中的Copyset概念和使用方法

前言

copyset运用好能带来什么好处

+}

Ceph中的Copyset概念和使用方法

Ceph中的Copyset概念和使用方法

前言

copyset运用好能带来什么好处

  • 降低故障情况下的数据丢失概率(增加可用性)
  • 降低资源占用,从而降低负载
  • @@ -263,7 +263,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何统计Ceph的RBD真实使用容量

如何统计Ceph的RBD真实使用容量

前言

ceph的rbd一直有个问题就是无法清楚的知道这个分配的空间里面到底使用了多少,这个在Jewel里面提供了一个新的接口去查询,对于老版本来说可能同样有这个需求,本篇将详细介绍如何解决这个问题

+}

如何统计Ceph的RBD真实使用容量

如何统计Ceph的RBD真实使用容量

前言

ceph的rbd一直有个问题就是无法清楚的知道这个分配的空间里面到底使用了多少,这个在Jewel里面提供了一个新的接口去查询,对于老版本来说可能同样有这个需求,本篇将详细介绍如何解决这个问题

查询的各种方法

目前已知的有三种方法

  • 1、使用rbd du查询(Jewel才支持)
  • @@ -263,7 +263,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Centos7下Jewel版本radosgw服务启动

Centos7下Jewel版本radosgw服务启动

前言

本篇介绍了centos7下jewel版本的radosgw配置,这里的配置是指将服务能够正常起来,不涉及到S3的配置,以及其他的更多的配置,radosgw后面的gw就是gateway的意思,也就是我们说的网关的意思,本篇中所提及的实例也就是网关的意思,说实例是将每个单独的网关更细化一点的说法

+}

Centos7下Jewel版本radosgw服务启动

Centos7下Jewel版本radosgw服务启动

前言

本篇介绍了centos7下jewel版本的radosgw配置,这里的配置是指将服务能够正常起来,不涉及到S3的配置,以及其他的更多的配置,radosgw后面的gw就是gateway的意思,也就是我们说的网关的意思,本篇中所提及的实例也就是网关的意思,说实例是将每个单独的网关更细化一点的说法

很多人不清楚在centos7下面怎么去控制这个radosgw网关的服务的控制,这个地方是会去读取配置文件的,所以配置文件得写正确

预备环境

一个完整的集群

拥有一个正常的集群是需要提前准备好的,ceph -s检查正确的输出

关闭各种auth

这个地方也可以不关闭,注意配置好用户认证就可以了,这里关闭了,配置起来方便,我是从来不开的,也避免了新手不会配置用户造成认证的各种异常
关闭认证就是在ceph.conf里面添加下面字段

@@ -255,7 +255,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

替换OSD操作的优化与分析

替换OSD操作的优化与分析

前言

之前有写过一篇删除OSD的正确方式,里面只是简单的讲了下删除的方式怎样能减少迁移量,本篇属于一个扩展,讲述了 Ceph 运维当中经常出现的坏盘提换盘的步骤的优化

+}

替换OSD操作的优化与分析

替换OSD操作的优化与分析

前言

之前有写过一篇删除OSD的正确方式,里面只是简单的讲了下删除的方式怎样能减少迁移量,本篇属于一个扩展,讲述了 Ceph 运维当中经常出现的坏盘提换盘的步骤的优化

基础环境两台主机每台主机8个 OSD,一共 16 个 OSD,副本设置为2,PG 数设置为800,计算下来平均每个 OSD 上的 P G数目为100个,本篇将通过数据来分析不同的处理方法的差别

开始测试前先把环境设置为 noout,然后通过停止 OSD 来模拟 OSD 出现了异常,之后进行不同处理方法

测试三种方法

首先 out 一个 OSD,然后剔除 OSD,然后增加 OSD

    @@ -350,7 +350,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph的Mon数据重新构建工具

Ceph的Mon数据重新构建工具

关于mon的数据的问题,一般正常情况下都是配置的3个mon的,但是还是有人会担心 Mon 万一三个同时都挂掉了怎么办,那么集群所有的数据是不是都丢了,关于后台真实数据恢复,有去后台取对象,然后一个个拼接起来的方案,这个是确定可以成功的,但是这个方法对于生产的集群耗时巨大,并且需要导出数据,然后又配置新的集群,工程比较耗大,考虑到这个问题,Ceph 的中国(Redhat)的一位开发者 tchaikov 就写了一个新的工具,来对损坏的MON的数据进行原集群的重构,这个比起其他方案要好很多,本篇将讲述怎么使用这个工具,代码已经合并到 Ceph 的master分支当中去了

+}

Ceph的Mon数据重新构建工具

Ceph的Mon数据重新构建工具

关于mon的数据的问题,一般正常情况下都是配置的3个mon的,但是还是有人会担心 Mon 万一三个同时都挂掉了怎么办,那么集群所有的数据是不是都丢了,关于后台真实数据恢复,有去后台取对象,然后一个个拼接起来的方案,这个是确定可以成功的,但是这个方法对于生产的集群耗时巨大,并且需要导出数据,然后又配置新的集群,工程比较耗大,考虑到这个问题,Ceph 的中国(Redhat)的一位开发者 tchaikov 就写了一个新的工具,来对损坏的MON的数据进行原集群的重构,这个比起其他方案要好很多,本篇将讲述怎么使用这个工具,代码已经合并到 Ceph 的master分支当中去了

关于这个工具相关的issue

打包一个合进新代码的master版本的ceph包

从github上面获取代码

默认的分支就是master的直接去clone就可以了

@@ -273,7 +273,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

不小心清空了Ceph的OSD的分区表如何恢复

不小心清空了Ceph的OSD的分区表如何恢复

前言

如果你是新手,应该出现过敲盘符的时候,敲错的情况,有些操作可能没什么问题,查询类的操作都没问题,但是写入的情况,就可能比较麻烦了,当然老手也可能有误操作,本篇将讲述在误操作把分区表给弄丢了的情况,来看看我们应该如何恢复

+}

不小心清空了Ceph的OSD的分区表如何恢复

不小心清空了Ceph的OSD的分区表如何恢复

前言

如果你是新手,应该出现过敲盘符的时候,敲错的情况,有些操作可能没什么问题,查询类的操作都没问题,但是写入的情况,就可能比较麻烦了,当然老手也可能有误操作,本篇将讲述在误操作把分区表给弄丢了的情况,来看看我们应该如何恢复

实践过程

我们现在有一个正常的集群,我们假设这些分区都是一致的,用的是默认的分区的方式,我们先来看看默认的分区方式是怎样的

破坏环境

1
2
3
4
5
6
[root@lab8106 ceph]# ceph-disk  list
···
/dev/sdb :
/dev/sdb1 ceph data, active, cluster ceph, osd.0, journal /dev/sdb2
/dev/sdb2 ceph journal, for /dev/sdb1
···

查看分区情况

@@ -275,7 +275,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Python生成csv中文乱码解决办法

Python生成csv中文乱码解决办法

前言

在Linux下面用python进行数据处理,然后输出为csv格式,如果没有中文一切正常,但是如果有中文,就会出现乱码的问题,本篇将讲述怎么处理这个问题

+}

Python生成csv中文乱码解决办法

Python生成csv中文乱码解决办法

前言

在Linux下面用python进行数据处理,然后输出为csv格式,如果没有中文一切正常,但是如果有中文,就会出现乱码的问题,本篇将讲述怎么处理这个问题

处理过程

原始代码

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import csv
#import codecs
with open('test.csv', 'wb') as csvfile:
# csvfile.write(codecs.BOM_UTF8)
spamwriter = csv.writer(csvfile, dialect='excel')
spamwriter.writerow(['测试'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

运行以后:
Linux下的效果

1
2
3
[root@lab8106 ~]# cat test.csv 
测试,测试,测试,测试,测试,Baked Beans
Spam,Lovely Spam,Wonderful Spam
@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

编译一个支持多线程的php安装包

编译一个支持多线程的php安装包

前言

因为项目上的需要,需要用到php,一般来说,用默认的版本和配置就可以满足大多数的场景,因为需要加入多线程,所以需要自己编译一个包

+}

编译一个支持多线程的php安装包

编译一个支持多线程的php安装包

前言

因为项目上的需要,需要用到php,一般来说,用默认的版本和配置就可以满足大多数的场景,因为需要加入多线程,所以需要自己编译一个包

一般来说,发行的包的版本的配置选项和代码都是最稳定的,所以在大多数情况下,我都不会直接去拿原始的源码做编译,这里我的经验是用别人发布版本的源码包,然后根据自己的需要,做修改,然后打包,这次的处理方法还是一样

获取源码

地址:

1
https://uk.repo.webtatic.com/yum/el7/SRPMS/RPMS/
@@ -255,7 +255,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

创建一个自定义名称的Ceph集群

创建一个自定义名称的Ceph集群

前言

这里有个条件,系统环境是Centos 7 ,Ceph 的版本为Jewel版本,因为这个组合下是由systemctl来进行服务控制的,所以需要做稍微的改动即可实现

+}

创建一个自定义名称的Ceph集群

创建一个自定义名称的Ceph集群

前言

这里有个条件,系统环境是Centos 7 ,Ceph 的版本为Jewel版本,因为这个组合下是由systemctl来进行服务控制的,所以需要做稍微的改动即可实现

准备工作

部署mon的时候需要修改这个几个文件

1
2
3
4
/usr/lib/systemd/system/ceph-mon@.service
/usr/lib/systemd/system/ceph-create-keys@.service
/usr/lib/systemd/system/ceph-osd@.service
/usr/lib/systemd/system/ceph-mds@.service
@@ -248,7 +248,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph的参数mon_osd_down_out_subtree_limit细解

Ceph的参数mon_osd_down_out_subtree_limit细解

前言

之前跟一个朋友沟通一个其他的问题的时候,发现了有一个参数 mon osd down out subtree limit 一直没有接触到,看了一下这个参数还是很有作用的,本篇将讲述这个参数的作用和使用的场景

+}

Ceph的参数mon_osd_down_out_subtree_limit细解

Ceph的参数mon_osd_down_out_subtree_limit细解

前言

之前跟一个朋友沟通一个其他的问题的时候,发现了有一个参数 mon osd down out subtree limit 一直没有接触到,看了一下这个参数还是很有作用的,本篇将讲述这个参数的作用和使用的场景

测试环境准备

首先配置一个集群环境,配置基本参数

1
mon_osd_down_out_interval = 20

调整这个参数为20s,默认为300s,默认一个osd,down超过300s就会标记为out,然后触发迁移,这个是为了方便尽快看到测试的效果,很多测试都是可以这样缩短测试周期的

@@ -273,7 +273,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

配置Ceph的IPV6集群

配置Ceph的IPV6集群

前言

对于IPV6实在是非常的陌生,所以本篇开始会讲一下最基本的网络配置,首先让网络能通起来,最开始就是因为不熟悉IPV6,而直接使用了link local地址,造成了mon部署的时候进程无法绑定到IP,从而端口没有启动,这个是在ceph社区群友 ceph-长沙-柠檬 同学的帮助下才发现问题的

+}

配置Ceph的IPV6集群

配置Ceph的IPV6集群

前言

对于IPV6实在是非常的陌生,所以本篇开始会讲一下最基本的网络配置,首先让网络能通起来,最开始就是因为不熟悉IPV6,而直接使用了link local地址,造成了mon部署的时候进程无法绑定到IP,从而端口没有启动,这个是在ceph社区群友 ceph-长沙-柠檬 同学的帮助下才发现问题的

IPV6是会有个link local地址的,在一个接口可以配置很多IPv6地址,所以学习路由就有可能出现很多下一跳。所以出现Link Local地址唯一标识一个节点。在本地链路看到下一跳都是对端的Link Local地址。这个地址一般是以fe80开头的,子网掩码为64,这个地方需要给机器配置一个唯一的全局单播地址

@@ -270,7 +270,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph中PG和PGP的区别

Ceph中PG和PGP的区别

前言

首先来一段英文关于PG和PGP区别的解释:

+}

Ceph中PG和PGP的区别

Ceph中PG和PGP的区别

前言

首先来一段英文关于PG和PGP区别的解释:

PG = Placement Group

PGP = Placement Group for Placement purpose

@@ -276,7 +276,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Docker与Ceph的分与合

Docker与Ceph的分与合

前言

docker是一个管理工具,在操作系统之上提供了一个新的独立轻环境,好处是本地提供了一个基础镜像,然后基于镜像再运行环境,也可以把环境重新打包为镜像,管理起来类似于git,感觉非常的方便,并且能够做到一处提交,处处可以取到相同的环境,大大的减少了因为环境偏差造成的系统不稳定

+}

Docker与Ceph的分与合

Docker与Ceph的分与合

前言

docker是一个管理工具,在操作系统之上提供了一个新的独立轻环境,好处是本地提供了一个基础镜像,然后基于镜像再运行环境,也可以把环境重新打包为镜像,管理起来类似于git,感觉非常的方便,并且能够做到一处提交,处处可以取到相同的环境,大大的减少了因为环境偏差造成的系统不稳定

目前有不少生成环境已经把ceph和docker结合在一起运行了,这个有的是确实能够理解docker的好处,也能够有技术力量去进行维护,这个地方相当于两套系统了,并且关于技术的传递也增加了难度,特别是一套系统是docker+ceph的环境,并且又出现相关人员离职的情况,新来的人如果不是技术很熟,之前的技术文档没有记录很全的话,再去运维这一套系统还是比较有难度的

本篇目的是记录一下docker与ceph的结合的方式,关于ceph和docker的分与合,只有做到能剥离的系统,才不会因为技术原因受限

实践

配置docker的基础环境

拉取基础镜像
这个是拉取的灵雀云的docker仓库的centos

@@ -298,7 +298,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

zabbix实现自定义自动发现的流程

zabbix实现自定义自动发现的流程

前言

本章介绍如何去自定义一个zabbix自动发现的整个流程

+}

zabbix实现自定义自动发现的流程

zabbix实现自定义自动发现的流程

前言

本章介绍如何去自定义一个zabbix自动发现的整个流程

过程

首先需要在模板当中创建一个自动发现的规则,这个地方只需要一个名称和一个键值,例如

  • 名称:Ceph Cluster Pool Discovery
  • @@ -252,7 +252,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

zabbix自动发现的python方式数据生成

zabbix自动发现的python方式数据生成

前言

zabbix里面有个功能是自动发现,比如文件系统和网卡的获取的时候,因为预先无法知道这个网卡的名称,所以就有了这个自动发现的功能,这里我是因为要用到存储池的自动发现,所以需要对数据进行生成

+}

zabbix自动发现的python方式数据生成

zabbix自动发现的python方式数据生成

前言

zabbix里面有个功能是自动发现,比如文件系统和网卡的获取的时候,因为预先无法知道这个网卡的名称,所以就有了这个自动发现的功能,这里我是因为要用到存储池的自动发现,所以需要对数据进行生成

实现

我们看下原生的接口的数据类型:

1
2
[root@lab8106 ~]# zabbix_get -s 127.0.0.1 -k "net.if.discovery"
{"data":[{"{#IFNAME}":"enp3s0"},{"{#IFNAME}":"virbr0-nic"},{"{#IFNAME}":"docker0"},{"{#IFNAME}":"enp4s0"},{"{#IFNAME}":"enp2s0f0"},{"{#IFNAME}":"enp2s0f1"},{"{#IFNAME}":"virbr0"},{"{#IFNAME}":"lo"}]}
@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

cephfs删除报nospace的问题

cephfs删除报nospace的问题

ceph Vol 45 Issue 2

CephFS: No space left on device

+}

cephfs删除报nospace的问题

cephfs删除报nospace的问题

ceph Vol 45 Issue 2

CephFS: No space left on device

After upgrading to 10.2.3 we frequently see messages like

@@ -257,7 +257,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph部署的时候修改默认权重

Ceph部署的时候修改默认权重

前言

部署集群的时候权重是默认生成的,这个是根据磁盘大小分配的,我们有的时候需要去修改一下这个默认权重

+}

Ceph部署的时候修改默认权重

Ceph部署的时候修改默认权重

前言

部署集群的时候权重是默认生成的,这个是根据磁盘大小分配的,我们有的时候需要去修改一下这个默认权重

修改

如果统一的初始值,那么直接添加参数即可

1
osd_crush_initial_weight

如果想自己添加算法,那么就根据下面的去做就可以了

@@ -253,7 +253,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph unfound objects 处理

ceph unfound objects 处理

ceph Vol 45 Issue 1

1.unfound objects blocking cluster, need help!

+}

ceph unfound objects 处理

ceph unfound objects 处理

ceph Vol 45 Issue 1

1.unfound objects blocking cluster, need help!

Hi,

@@ -258,7 +258,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

CephFS cache tier实践

CephFS cache tier实践

这是一篇分享文,作者因为最近想深入研究下ceph的cache pool,作者写的文章非常的好,这里先直接翻译这篇文章,然后再加入我自己的相关数据

+}

CephFS cache tier实践

CephFS cache tier实践

这是一篇分享文,作者因为最近想深入研究下ceph的cache pool,作者写的文章非常的好,这里先直接翻译这篇文章,然后再加入我自己的相关数据

blog原文

作者想启动blog写下自己的Openstack和Ceph的相关经验,第一个话题就选择了 Ceph cache tiering , 作者的使用场景为短时间的虚拟机,用来跑测试的,这种场景他们准备用Nvme做一个缓冲池来加速的虚拟机

cache 相关的一些参数

1
2
3
4
5
6
target_max_bytes
target_max_objects
cache_target_dirty_ratio
cache_target_full_ratio
cache_min_flush_age
cache_min_evict_age
@@ -296,7 +296,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

预估Ceph集群恢复时间

预估Ceph集群恢复时间

一、前言

本章很简单,就是预估集群恢复的时间,这个地方是简单的通过计算来预估需要恢复的实际,动态的显示

+}

预估Ceph集群恢复时间

预估Ceph集群恢复时间

一、前言

本章很简单,就是预估集群恢复的时间,这个地方是简单的通过计算来预估需要恢复的实际,动态的显示

二、代码

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
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
import commands
import json
def main():
gettime()
def conversecs(sec):
d = sec/86400
h = sec%86400/3600
m = sec%3600/60
s = sec%60
return "remain time:%s day %s hour %s min %s sec" %(d,h,m,s)
def gettime():
try:
recover_time = commands.getoutput('timeout 10 ceph -s -f json 2>/dev/null')
json_str = json.loads(recover_time)
if json_str["pgmap"].has_key('degraded_objects') == True:
degraded_objects = json_str["pgmap"]["degraded_objects"]
if json_str["pgmap"].has_key('recovering_objects_per_sec') == True and json_str["pgmap"]["recovering_objects_per_sec"] != 0:
recovering_objects_per_sec = json_str["pgmap"]["recovering_objects_per_sec"]
resec=degraded_objects/recovering_objects_per_sec
print "recovery objects: %s" %(degraded_objects)
print "recovery speed :%s" %(recovering_objects_per_sec)
print conversecs(resec)
else:
resec=degraded_objects/1
print "recovery objects: %s" %(degraded_objects)
print "recovery speed :0"
print conversecs(resec)
else:
print "recover all done!"
except:
print "Ceph Cluster health?try ceph -s"
if __name__ == '__main__':
main()
@@ -242,7 +242,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

yum安装Ceph指定Jewel版本

yum安装Ceph指定Jewel版本

前言

通过yum安装指定的rpm包,这个一般是 yum –showduplicates list ceph | expand ,然后去通过yum安装指定的版本即可,这个在hammer下是没有问题的,但是在Jewel下进行安装的时候却出现了问题,我们来看下怎么解决这个问题的

+}

yum安装Ceph指定Jewel版本

yum安装Ceph指定Jewel版本

前言

通过yum安装指定的rpm包,这个一般是 yum –showduplicates list ceph | expand ,然后去通过yum安装指定的版本即可,这个在hammer下是没有问题的,但是在Jewel下进行安装的时候却出现了问题,我们来看下怎么解决这个问题的

实践过程

我们需要安装 ceph-10.2.0-0.el7 这个版本的,根据之前的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@lab8106 ~]# yum install  ceph-10.2.0-0.el7
Loaded plugins: fastestmirror, langpacks, priorities
base | 3.6 kB 00:00:00
ceph | 2.9 kB 00:00:00
ceph-noarch | 2.9 kB 00:00:00
epel | 4.3 kB 00:00:00
···
Error: Package: 1:ceph-base-10.2.0-0.el7.x86_64 (ceph)
Requires: librados2 = 1:10.2.0-0.el7
Removing: 1:librados2-0.94.6-0.el7.x86_64 (@ceph)
librados2 = 1:0.94.6-0.el7
Updated By: 1:librados2-10.2.3-0.el7.x86_64 (ceph)
librados2 = 1:10.2.3-0.el7
Available: 1:librados2-0.80.7-0.8.el7.x86_64 (epel)
librados2 = 1:0.80.7-0.8.el7
Available: 1:librados2-0.80.7-3.el7.x86_64 (base)
librados2 = 1:0.80.7-3.el7
Available: 1:librados2-10.1.0-0.el7.x86_64 (ceph)

@@ -246,7 +246,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

处理stale的pg

处理stale的pg

前言

在某些场景下Ceph集群会出现stale的情况,也就是ceph集群PG的僵死状态,这个状态实际上是无法处理新的请求了,新的请求过来只会block,那么我们如何去恢复环境

+}

处理stale的pg

处理stale的pg

前言

在某些场景下Ceph集群会出现stale的情况,也就是ceph集群PG的僵死状态,这个状态实际上是无法处理新的请求了,新的请求过来只会block,那么我们如何去恢复环境

实践过程

首先模拟stale环境,这个比较好模拟

设置副本2,然后同时关闭两个OSD(不同故障域上),然后删除这两个OSD

@@ -243,7 +243,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

查询OSD运行在哪些cpu上

查询OSD运行在哪些cpu上

前言

在看CPU相关的文章的时候,想起来之前有文章讨论是否要做CPU绑定,这个有说绑定的也有说不绑定的,然后就想到一个问题,有去观测这些OSD到底运行在哪些CPU上面么,有问题就好解决了,现在就是要查下机器上的OSD运行在哪些CPU上

+}

查询OSD运行在哪些cpu上

查询OSD运行在哪些cpu上

前言

在看CPU相关的文章的时候,想起来之前有文章讨论是否要做CPU绑定,这个有说绑定的也有说不绑定的,然后就想到一个问题,有去观测这些OSD到底运行在哪些CPU上面么,有问题就好解决了,现在就是要查下机器上的OSD运行在哪些CPU上

代码

这里直接上代码了,最近学习python在,就用python来实现

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
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
import json
import psutil
import commands
from prettytable import PrettyTable

def main():
if len(sys.argv) == 1:
printosdcputable("process")
elif sys.argv[1] == 't':
printosdcputable("thread")

def printosdcputable(choose):
print choose
row = PrettyTable()
row.header = True
cpulist = ["OSD\CPU"]
corelist=["Core ID"]
phylist = ["Physical ID"]
emplist=["-----------"]
for cpupro in range(psutil.cpu_count()):
cpulist.append("%s" %cpupro )

coreid=commands.getoutput('egrep \'processor|physical id|core id\' /proc/cpuinfo | cut -d : -f 2 | paste - - - | awk \'$1==%s {print $3 }\'' %cpupro)
corelist.append("%s" %coreid)

phyid = commands.getoutput('egrep \'processor|physical id|core id\' /proc/cpuinfo | cut -d : -f 2 | paste - - - | awk \'$1==%s {print $2 }\'' % cpupro)
phylist.append("%s" %phyid)
emplist.append("--")

row.field_names = cpulist
row.add_row(corelist)
row.add_row(phylist)
row.add_row(emplist)

for root, dirs, files in os.walk('/var/run/ceph/'):
for name in files:
if "osd" in name and "pid" in name :
osdlist = []
osdthlist=[]
for osdcpu in range(psutil.cpu_count()):
osdlist.append(" ")
osdthlist.append("0")
pidfile=root+ name
osdid=commands.getoutput('ls %s|cut -d "." -f 2 2>/dev/null' %pidfile )
osdpid = commands.getoutput('cat %s 2>/dev/null' %pidfile)
osd_runcpu = commands.getoutput('ps -o psr -p %s |grep -v PSR 2>/dev/null' %osdpid)
th_list = commands.getoutput('ps -o psr -L -p %s |grep -v PSR|awk \'gsub(/^ *| *$/,"")\' 2>/dev/null' % osdpid)

osdname="osd."+osdid
osdlist[int(osd_runcpu)]="+"
for osdth in th_list.split('\n'):
osdthlist[int(osdth)] = int(osdthlist[int(osdth)])+1
osdlist.insert(0,osdname)
osdthlist.insert(0,osdname)
if choose == "process":
row.add_row(osdlist)
elif choose == "thread":
row.add_row(osdthlist)
print row

if __name__ == '__main__':
main()

运行脚本:

@@ -256,7 +256,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

fio测试ceph的filestore

fio测试ceph的filestore

前言

fio是一个适应性非常强的软件,基本上能够模拟所有的IO请求,是目前最全面的一款测试软件,之前在看德国电信的一篇分享的时候,里面就提到了,如果需要测试存储性能,尽量只用一款软件,这样从上层测试到底层去,才能更好的去比较差别

+}

fio测试ceph的filestore

fio测试ceph的filestore

前言

fio是一个适应性非常强的软件,基本上能够模拟所有的IO请求,是目前最全面的一款测试软件,之前在看德国电信的一篇分享的时候,里面就提到了,如果需要测试存储性能,尽量只用一款软件,这样从上层测试到底层去,才能更好的去比较差别

fio对于ceph来说,可以测试文件系统,基于文件系统之上测试,可以测试内核rbd,将rbdmap到本地格式化以后进行测试,或者基于librbd直接对rbd进行测试,这个是目前都已经有的测试场景,这些不在本篇的讨论的范围内,今天讲的是一种新的测试场景,直接对ceph的底层存储进行测试

为什么会有这个,因为在以前,如果你要测试一块磁盘是不是适合ceph使用的时候,都是直接对挂载的磁盘进行一些测试,这个是基于文件系统的,并没有真正的模拟到ceph自己的写入模型,所以在开发人员的努力下,模拟对象的写入的驱动已经完成了,这就是本篇需要讲述的内容

@@ -248,7 +248,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

The Dos and Don'ts for Ceph for OpenStack

The Dos and Don'ts for Ceph for OpenStack

Ceph和OpenStack是一个非常有用和非常受欢迎的组合。 不过,部署Ceph / OpenStack经常会有一些容易避免的缺点 - 我们将帮助你解决它们

+}

The Dos and Don'ts for Ceph for OpenStack

The Dos and Don'ts for Ceph for OpenStack

Ceph和OpenStack是一个非常有用和非常受欢迎的组合。 不过,部署Ceph / OpenStack经常会有一些容易避免的缺点 - 我们将帮助你解决它们

使用 show_image_direct_url and the Glance v2 API

使用ceph的RBD(RADOS Block Device),你可以创建克隆,你可以将克隆理解为可写的快照(快照通常是只读的)。克隆只会为相对于父快照变化的部分创建对象,这意味着:

@@ -293,7 +293,7 @@

引用

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

基于发行版本内核打造自己的内核

基于发行版本内核打造自己的内核

Linux当中最核心的部分就是内核,这个也是最基础,最可能被忽视的一部分,随便找一个刚入职的运维,学习个两三天,网上找些资料也能能自己安装编译内核了,很多运维的初期培训就是做的这些学习,为什么在网上已经有这么多文章的情况下,还要写一篇关于内核的文章,这是因为,我想讲的是如何去选择内核

+}

基于发行版本内核打造自己的内核

基于发行版本内核打造自己的内核

Linux当中最核心的部分就是内核,这个也是最基础,最可能被忽视的一部分,随便找一个刚入职的运维,学习个两三天,网上找些资料也能能自己安装编译内核了,很多运维的初期培训就是做的这些学习,为什么在网上已经有这么多文章的情况下,还要写一篇关于内核的文章,这是因为,我想讲的是如何去选择内核

一般来说,找内核的时候都会去下面这个网站进行选择

@@ -259,7 +259,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

查询Ceph的OSD占用内存

查询Ceph的OSD占用内存

前言

之前写过一篇关于查询OSD的运行的CPU的情况的分享,本篇是讲的获取内存占用的,代码包括两种输出,一种是直接的表格,一种是可以方便解析的json

+}

查询Ceph的OSD占用内存

查询Ceph的OSD占用内存

前言

之前写过一篇关于查询OSD的运行的CPU的情况的分享,本篇是讲的获取内存占用的,代码包括两种输出,一种是直接的表格,一种是可以方便解析的json

代码

直接上代码,python才用不久,所以可能代码实现比较低级,主要是看实现的方法

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
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
import json
import psutil
import commands
from prettytable import PrettyTable
def main():
if len(sys.argv) == 1:
printosdmemtable("table")
elif sys.argv[1] == 'json':
printosdmemtable("json")

def printosdmemtable(chosse):
data_dic = {}
osd_list={}
row = PrettyTable()
row.header = True
memlist = ["OSD\MEM"]
memchose = [ 'VIRT','RES']
for meminfo in memchose:
memlist.append("%s" %meminfo )
row.field_names = memlist
for root, dirs, files in os.walk('/var/run/ceph/'):
for name in files:
if "osd" in name and "pid" in name :
osdlist = []
osdthlist=[]
for osdmem in range(len(memchose)):
osdlist.append(" ")
pidfile=root+ name
osdid=commands.getoutput('ls %s|cut -d "." -f 2 2>/dev/null' %pidfile )
osdpid = commands.getoutput('cat %s 2>/dev/null' %pidfile)
osd_runmemvsz = commands.getoutput('ps -p %s -o vsz |grep -v VSZ 2>/dev/null' %osdpid)
osd_runmemrsz = commands.getoutput('ps -p %s -o rsz |grep -v RSZ 2>/dev/null' %osdpid)
osdname="osd."+osdid
osdlist.insert(0,osdname)
osdlist[1] = str(int(osd_runmemvsz)/1024)+"KB"
osdlist[2] = str(int(osd_runmemrsz)/1024)+"KB"
vm_dic = {}
vm_dic['VSZ']= str(int(osd_runmemvsz)/1024)+"KB"
vm_dic['RSZ']= str(int(osd_runmemrsz)/1024)+"KB"
osd_list[osdname] = vm_dic
data_dic['osdmemused'] = osd_list
if chosse == "table":
row.add_row(osdlist)
elif chosse == "json":
row = json.dumps(data_dic,separators=(',', ':'))
print row

if __name__ == '__main__':
main()
@@ -230,7 +230,7 @@

附加

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Cephfs的快照功能

Cephfs的快照功能

前言

Cephfs的快照功能在官网都很少提及,因为即使开发了很多年,但是由于cephfs的复杂性,功能一直没能达到稳定,这里,只是介绍一下这个功能,怎么使用,并且建议不要在生产中使用,因为搞不好是会丢数据的

+}

Cephfs的快照功能

Cephfs的快照功能

前言

Cephfs的快照功能在官网都很少提及,因为即使开发了很多年,但是由于cephfs的复杂性,功能一直没能达到稳定,这里,只是介绍一下这个功能,怎么使用,并且建议不要在生产中使用,因为搞不好是会丢数据的

功能介绍

首先这个功能是默认关闭的,所以需要开启

1
2
3
[root@lab8106 ~]# ceph fs set ceph  allow_new_snaps 1
Error EPERM: Warning! This feature is experimental.It may cause problems up to and including data loss.Consult the documentation at ceph.com, and if unsure, do not proceed.Add --yes-i-really-mean-it if you are certain.
[root@lab8106 ~]# ceph fs set ceph allow_new_snaps 1 --yes-i-really-mean-it

从提示上可以看到,还是不要在生产上使用

@@ -244,7 +244,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd的image快照与Pool快照

rbd的image快照与Pool快照

前言

这个问题是不久前在ceph社区群里看到的,创建image的时候,当时的报错如下:

+}

rbd的image快照与Pool快照

rbd的image快照与Pool快照

前言

这个问题是不久前在ceph社区群里看到的,创建image的时候,当时的报错如下:

2016-12-13 23:13:10.266865 7efbfb7fe700 -1 librbd::image::CreateRequest: pool not configured for self-managed RBD snapshot support

rbd: create error: (22) Invalid argument

@@ -252,7 +252,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

cephonebox发布

cephonebox发布

前言

现在已经是2016年收官的一个月了,之前一直想做一个calamari的集成版本,之所以有这个想法,是因为,即使在已经打好包的情况下,因为各种软件版本的原因,造成很多人无法配置成功,calamari发布以后,因为版本的更迭,经常出现软件版本引起的BUG

+}

cephonebox发布

cephonebox发布

前言

现在已经是2016年收官的一个月了,之前一直想做一个calamari的集成版本,之所以有这个想法,是因为,即使在已经打好包的情况下,因为各种软件版本的原因,造成很多人无法配置成功,calamari发布以后,因为版本的更迭,经常出现软件版本引起的BUG

这里直接把需要的软件集成在一起了,按照本篇指导,一步一步是能够很简单的配置起来的,并且提供了一个视频的指导,应该能够很大程度上降低calamari的部署难度,希望能够帮助到更多的人

集成软件版本说明

操作系统 Centos 7.3

之所以选择这个版本是因为这个是最新发布的,centos小版本的发布能够解决一些BUG,并且不会做很大的改动,并且能够让这个集成系统保持一定的生命周期

ceph

ceph采用的是Jewel版本的10.2.5,这个是最新发布的,因为Jewel版本是一个长期支持版本,并且小版本号已经到5了,已经在一定程度上达到了稳定

@@ -256,7 +256,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph数据盘怎样实现自动挂载

Ceph数据盘怎样实现自动挂载

前言

在Centos7 下,现在采用了 systemctl来控制服务,这个刚开始用起来可能不太习惯,不过这个服务比之前的服务控制要强大的多,可以做更多的控制,本节将来介绍下关于 Ceph的 osd 磁盘挂载的问题

+}

Ceph数据盘怎样实现自动挂载

Ceph数据盘怎样实现自动挂载

前言

在Centos7 下,现在采用了 systemctl来控制服务,这个刚开始用起来可能不太习惯,不过这个服务比之前的服务控制要强大的多,可以做更多的控制,本节将来介绍下关于 Ceph的 osd 磁盘挂载的问题

很多人部署以后,发现在Centos7下用Jewel的时候没有去写fstab也没有写配置文件,重启服务器一样能够挂载起来了,关于这个有另外一篇文章:「ceph在centos7下一个不容易发现的改变

还有一些人发现自己的却启动不起来,需要写配置文件或者fstab

@@ -254,7 +254,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何避免Cephfs被完全毁掉

如何避免Cephfs被完全毁掉

前提

一套系统的最低要求是可恢复,也就是数据不丢失,但是在各种各样的原因下,整套系统都有被毁掉的可能,一直以来有个观点就是存储是需要两套的,一般情况下很难实现,但是如何把故障发生的概率降低到最低,这个是我们需要考虑的问题

+}

如何避免Cephfs被完全毁掉

如何避免Cephfs被完全毁掉

前提

一套系统的最低要求是可恢复,也就是数据不丢失,但是在各种各样的原因下,整套系统都有被毁掉的可能,一直以来有个观点就是存储是需要两套的,一般情况下很难实现,但是如何把故障发生的概率降低到最低,这个是我们需要考虑的问题

最近在社区群里面又听闻一个案例,一套系统的文件系统被重置掉了,也就是fs被重建了,实际上这属于一个不应该有的操作,但是已经发生的事情,就看怎么样能在下次避免或者把损失降到最低,对于hammer版本来说,重建cephfs只是把目录树给冲掉了,实际的目录还是能创建起来,但是这其实是一个BUG,并且在最新的Jewel下已经解决掉这个问题,这就造成无法重建目录树,在Jewel下,在不修改代码的情况下,文件都可以扫描回来,但是全部塞到了一个目录下,对于某些场景来说,这个已经是最大限度的恢复了,至少文件还在,如果文件类型可知,也可以一个个去人工识别的,虽然工作量异常的大,但至少文件回来了,这种情况,如果有保留文件名和文件md5值的强制要求的话,文件是可以完全找回来的,当然,这都是一些防范措施,看有没有重视,或者提前做好了预备

本篇就是对于情况下,如何基于快照做一个防范措施,以防误操作引起的数据无法挽回的措施

@@ -249,7 +249,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

处理Ceph osd的journal的uuid问题

处理Ceph osd的journal的uuid问题

前言

之前有一篇文章介绍的是,在centos7的jewel下面如果自己做的分区如何处理自动挂载的问题,当时的环境对journal的地方采取的是文件的形式处理的,这样就没有了重启后journal的磁盘偏移的问题

+}

处理Ceph osd的journal的uuid问题

处理Ceph osd的journal的uuid问题

前言

之前有一篇文章介绍的是,在centos7的jewel下面如果自己做的分区如何处理自动挂载的问题,当时的环境对journal的地方采取的是文件的形式处理的,这样就没有了重启后journal的磁盘偏移的问题

如果采用的是ceph自带的deploy去做分区的处理的时候,是调用的sgdisk去对磁盘做了一些处理的,然后deploy能够识别一些特殊的标记,然后去做了一些其他的工作,而自己分区的时候,是没有做这些标记的这样就可能会有其他的问题

我们看下如何在部署的时候就处理好journal的uuid的问题

实践

按常规流程部署OSD

准备测试的自分区磁盘

@@ -249,7 +249,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd的image对象数与能写入文件数的关系

rbd的image对象数与能写入文件数的关系

前言

收到一个问题如下:

+}

rbd的image对象数与能写入文件数的关系

rbd的image对象数与能写入文件数的关系

前言

收到一个问题如下:

一个300TB 的RBD,只有7800万的objects,如果存储小文件的话,感觉不够用

@@ -241,7 +241,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph编译加速的小技巧

Ceph编译加速的小技巧

总结了几个小技巧,用于在ceph编译过程中,能够更快一点

+}

Ceph编译加速的小技巧

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph 的crush算法 straw

ceph 的crush算法 straw

很多年以前,Sage 在写CRUSH的原始算法的时候,写了不同的Bucket类型,可以选择不同的伪随机选择算法,大部分的模型是基于RJ Honicky写的RUSH algorithms 这个算法,这个在网上可以找到资料,这里面有一个新的特性是sage很引以为豪的,straw算法,也就是我们现在常用的一些算法,这个算法有下面的特性:

+}

ceph 的crush算法 straw

ceph 的crush算法 straw

很多年以前,Sage 在写CRUSH的原始算法的时候,写了不同的Bucket类型,可以选择不同的伪随机选择算法,大部分的模型是基于RJ Honicky写的RUSH algorithms 这个算法,这个在网上可以找到资料,这里面有一个新的特性是sage很引以为豪的,straw算法,也就是我们现在常用的一些算法,这个算法有下面的特性:

  • items 可以有任意的weight
  • 选择一个项目的算法复杂度是O(n)
  • @@ -291,7 +291,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

解决calamari无法获取节点信息的bug

解决calamari无法获取节点信息的bug

前言

一直在做calamari的相关的一些打包和安装的工作,都是业余弄的东西,所以并没有仔细的进行功能点的验证测试,正好ceph社区群里面有人问了个问题

+}

解决calamari无法获取节点信息的bug

解决calamari无法获取节点信息的bug

前言

一直在做calamari的相关的一些打包和安装的工作,都是业余弄的东西,所以并没有仔细的进行功能点的验证测试,正好ceph社区群里面有人问了个问题

calamari上是不是能看到ceph的version?

@@ -267,7 +267,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

sortbitwise是什么意思

sortbitwise是什么意思

问题

flag sortbitwise 在ceph中是什么意思,在Jewel版本下可以看到多了这个flags

+}

sortbitwise是什么意思

sortbitwise是什么意思

问题

flag sortbitwise 在ceph中是什么意思,在Jewel版本下可以看到多了这个flags

1
2
3
4
5
6
7
8
9
10
11
[root@lab8106 current]# ceph -s
cluster ffe7a8db-c671-4b45-a784-ddb41e633905
health HEALTH_OK
monmap e1: 1 mons at {lab8106=192.168.8.106:6789/0}
election epoch 4, quorum 0 lab8106
fsmap e4: 1/1/1 up {0=lab8106=up:active}
osdmap e132: 8 osds: 8 up, 8 in
flags sortbitwise
pgmap v206294: 201 pgs, 5 pools, 4684 MB data, 1214 objects
9669 MB used, 2216 GB / 2226 GB avail
201 active+clean

找到的相关资料

@@ -218,12 +218,12 @@

Ceph release notes

-

commit 383185bfbae74797cdb44f50b4bf651422800ff1

Author: Sage Weil sage@redhat.com

Date: Fri Aug 7 16:14:09 2015 -0400

mon/OSDMonitor: osd set/unset sortbitwise

Add monitor command to flip the switch on the OSD hobject_t sort

order.

+

commit 383185bfbae74797cdb44f50b4bf651422800ff1

Author: Sage Weil sage@redhat.com

Date: Fri Aug 7 16:14:09 2015 -0400

mon/OSDMonitor: osd set/unset sortbitwise

Add monitor command to flip the switch on the OSD hobject_t sort

order.

From git

第一次在源码中出现:

-

commit 138f58493715e386929f152424b70df37843541b

Author: John Spray john.spray@redhat.com

Date: Mon Aug 17 14:40:46 2015 -0400

osdc/Objecter: new-style pgls

Signed-off-by: John Spray john.spray@redhat.com

Signed-off-by: Sage Weil sage@redhat.com

+

commit 138f58493715e386929f152424b70df37843541b

Author: John Spray john.spray@redhat.com

Date: Mon Aug 17 14:40:46 2015 -0400

osdc/Objecter: new-style pgls

Signed-off-by: John Spray john.spray@redhat.com

Signed-off-by: Sage Weil sage@redhat.com

From git

Related github issue: https://github.com/ceph/ceph/pull/4919/commits

@@ -262,7 +262,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph的rbd备份软件ceph-backup

ceph的rbd备份软件ceph-backup

teralytics是一家国外的大数据公司,这个是他们开源的ceph的备份的工具,在twitter上搜索相关信息的时候看到,觉得不错就拿来试用一番

+}

ceph的rbd备份软件ceph-backup

ceph的rbd备份软件ceph-backup

teralytics是一家国外的大数据公司,这个是他们开源的ceph的备份的工具,在twitter上搜索相关信息的时候看到,觉得不错就拿来试用一番

这是个什么软件

一个用来备份 ceph 的 rbd 的image的开源软件,提供了两种模式
增量:在给定备份时间窗口内基于 rbd 快照的增量备份
完全:完整镜像导出时不包含快照

注意一致性:此工具可以生成 rbd 镜像的快照,而不会感知到它们的文件系统的状态,注意下 rbd 快照的一致性限制(官网文档) 由于“完全”模式不使用快照,“完全”模式下的实时映像备份不一致(“增量”模式始终使用快照)

@@ -295,7 +295,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd-mirror配置指南-单向备份

rbd-mirror配置指南-单向备份

前言

RBD 的 mirroring 功能将在Jewel中实现的,这个Jewel版本已经发布了很久了,这个功能已经在这个发布的版本中实现了,本来之前写过一篇文章,但是有几个朋友根据文档配置后,发现还是有问题,自己在进行再次配置的时候也发现有些地方没讲清楚,容易造成误解,这里对文档进行再一次的梳理

+}

rbd-mirror配置指南-单向备份

rbd-mirror配置指南-单向备份

前言

RBD 的 mirroring 功能将在Jewel中实现的,这个Jewel版本已经发布了很久了,这个功能已经在这个发布的版本中实现了,本来之前写过一篇文章,但是有几个朋友根据文档配置后,发现还是有问题,自己在进行再次配置的时候也发现有些地方没讲清楚,容易造成误解,这里对文档进行再一次的梳理

基本原理

我们试图解决的或者至少需要克服的问题是,ceph在内部是强一致性的,这个对于跨区域的情况数据同步是无法接受的,一个请求需要异地返回再确认完成,这个在性能上肯定是无法接受的,这就是为什么基本上无法部署跨区域的ceph集群

因此我们需要有一种机制能够让我们在不同区域的集群之间复制块设备。这个能够帮助我们实现两个功能:

    @@ -359,7 +359,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Linux 升级内核开启 TCP BBR 有多大好处

Linux 升级内核开启 TCP BBR 有多大好处

前言

如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT),谷歌一向的做法是,先上生产,然后发论文,然后有可能开源,所以这个已经合并到了内核4.9分支当中,算法带来的改变在出的测试报告当中有很详细的数据展示,这个看多了可能反而不知道到底会有什么明显改变,特别是对于我们自己的场景

+}

Linux 升级内核开启 TCP BBR 有多大好处

Linux 升级内核开启 TCP BBR 有多大好处

前言

如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT),谷歌一向的做法是,先上生产,然后发论文,然后有可能开源,所以这个已经合并到了内核4.9分支当中,算法带来的改变在出的测试报告当中有很详细的数据展示,这个看多了可能反而不知道到底会有什么明显改变,特别是对于我们自己的场景

那么本篇就是来做一个实践的,开看看在通用的一些场景下,这个改变有多大,先说下结果,是真的非常大

实践

还是我的两台机器lab8106和lab8107,lab8106做一个webserver,lab8107模拟客户端,用简单的wget来进行测试,环境为同一个交换机上的万兆网卡服务器

我们本次测试只测试一种丢包率的情况就是1%,有兴趣的情况下,可以自己去做些其他丢包率的测试,大多数写在丢包率20%以上的时候,效果可能没那么好,这个高丢包率不是我们探讨的情况,毕竟不是常用的场景
###安装新内核
内核可以自己选择4.9或者以上的进行安装,也可以用yum安装,这里只是测试,就yum直接安装

@@ -271,7 +271,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

预估ceph的迁移数据量

预估ceph的迁移数据量

引言

我们在进行 ceph 的 osd 的增加和减少的维护的时候,会碰到迁移数据,但是我们平时会怎么去回答关于迁移数据量的问题,一般来说,都是说很多,或者说根据环境来看,有没有精确的一个说法,到底要迁移多少数据?这个我以前也有思考过这个问题,当时想是对比前后的pg的分布,然后进行计算,正好在翻一些资料的时候,看到有alram写的一篇博客,alram是Inktank的程序员,也就是sage所在的公司,程序是一个python脚本,本篇会分析下这个对比的思路,以及运行效果

+}

预估ceph的迁移数据量

预估ceph的迁移数据量

引言

我们在进行 ceph 的 osd 的增加和减少的维护的时候,会碰到迁移数据,但是我们平时会怎么去回答关于迁移数据量的问题,一般来说,都是说很多,或者说根据环境来看,有没有精确的一个说法,到底要迁移多少数据?这个我以前也有思考过这个问题,当时想是对比前后的pg的分布,然后进行计算,正好在翻一些资料的时候,看到有alram写的一篇博客,alram是Inktank的程序员,也就是sage所在的公司,程序是一个python脚本,本篇会分析下这个对比的思路,以及运行效果

计算迁移量只需要一个修改后的crushmap就可以了,这个是离线计算的,所以不会对集群有什么影响

运行效果

准备修改后的crushmap

获取当前crushmap

1
ceph osd getcrushmap -o crushmap
@@ -270,7 +270,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

记最近一次ceph故障修复

记最近一次ceph故障修复

前言

所谓吃一堑长一智,每次面对问题才是最好的学习机会,在面对问题的时候,尽量是能够自己去解决,或者去尝试能够最接近答案,确实无法解决再去寻求他人帮助,这样成长的会更快一些,在学校读书做题的时候,老师也是经常告诉我们要忍住,不要去直接翻答案,在当今的互联网飞速的发展下,在google的帮助下,基本上90%的问题都能找到正确的答案,而我们其实真正需要锻炼的是实践能力和甄别的能力

+}

记最近一次ceph故障修复

记最近一次ceph故障修复

前言

所谓吃一堑长一智,每次面对问题才是最好的学习机会,在面对问题的时候,尽量是能够自己去解决,或者去尝试能够最接近答案,确实无法解决再去寻求他人帮助,这样成长的会更快一些,在学校读书做题的时候,老师也是经常告诉我们要忍住,不要去直接翻答案,在当今的互联网飞速的发展下,在google的帮助下,基本上90%的问题都能找到正确的答案,而我们其实真正需要锻炼的是实践能力和甄别的能力

去年一年给不少的生产环境解决过问题,在相互交流几次以后,解决问题的过程,基本也熟悉了,一般解决问题的大致流程都是:

  • 告之我环境的当前状况,需要实现的情况
  • @@ -278,7 +278,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

python执行rados命令例子

python执行rados命令例子

前言

我们以前的管理平台在python平台下面做的,内部做的一些操作采用的是命令执行,然后解析的方式去做的,ceph自身有python的rados接口,可以直接调用原生接口,然后直接解析json的方式,这样更靠近底层

+}

python执行rados命令例子

python执行rados命令例子

前言

我们以前的管理平台在python平台下面做的,内部做的一些操作采用的是命令执行,然后解析的方式去做的,ceph自身有python的rados接口,可以直接调用原生接口,然后直接解析json的方式,这样更靠近底层

在看ceph-dash内部的实现的时候,发现里面的获取集群信息的代码可以留存备用

代码实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import json

from rados import Rados
from rados import Error as RadosError

class CephClusterCommand(dict):
"""
Issue a ceph command on the given cluster and provide the returned json
"""

def __init__(self, cluster, **kwargs):
dict.__init__(self)
ret, buf, err = cluster.mon_command(json.dumps(kwargs), '', timeout=5)
if ret != 0:
self['err'] = err
else:
self.update(json.loads(buf))

config={'conffile': '/etc/ceph/ceph.conf', 'conf': {}}
with Rados(**config) as cluster:
cluster_status = CephClusterCommand(cluster, prefix='status', format='json')
print cluster_status
@@ -245,7 +245,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

在线动态修改ulimit

在线动态修改ulimit

前言

系统中有些地方会进行资源的限制,其中的一个就是open file的限制,操作系统默认限制的是1024,这个值可以通过各种方式修改,本篇主要讲的是如何在线修改,生产上是不可能随便重启进程的

+}

在线动态修改ulimit

在线动态修改ulimit

前言

系统中有些地方会进行资源的限制,其中的一个就是open file的限制,操作系统默认限制的是1024,这个值可以通过各种方式修改,本篇主要讲的是如何在线修改,生产上是不可能随便重启进程的

实践

查看系统默认的限制

1
2
[root@lab8106 ~]# ulimit -a|grep open
open files (-n) 1024

默认的打开文件是1024

1
2
3
4
5
[root@lab8106 ~]# ps -ef|grep ceph-osd
ceph 28176 1 0 18:08 ? 00:00:00 /usr/bin/ceph-osd -f --cluster ceph --id 0 --setuser ceph --setgroup ceph
root 28619 26901 0 18:10 pts/3 00:00:00 grep --color=auto ceph-osd
[root@lab8106 ~]# cat /proc/28176/limits |grep open
Max open files 1048576 1048576 files
@@ -248,7 +248,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

基于docker部署ceph以及修改docker image

基于docker部署ceph以及修改docker image

前言

容器和ceph的结合已经在一些生产环境当中做了尝试,容器的好处就是对运行环境的一个封装,传统的方式是集成为ISO,这个需要一定的维护量,而容器的相关操作会简单很多,也就有了一些尝试,个人觉得如果玩的转容器可以考虑,当然得懂ceph,不然两套系统在一起,问题都不知道是哪个的,就比较麻烦了

+}

基于docker部署ceph以及修改docker image

基于docker部署ceph以及修改docker image

前言

容器和ceph的结合已经在一些生产环境当中做了尝试,容器的好处就是对运行环境的一个封装,传统的方式是集成为ISO,这个需要一定的维护量,而容器的相关操作会简单很多,也就有了一些尝试,个人觉得如果玩的转容器可以考虑,当然得懂ceph,不然两套系统在一起,问题都不知道是哪个的,就比较麻烦了

本篇是基于之前我的填坑群里面的牛鹏举的一个问题,他的环境出现了创建osd的时候权限问题,我这边没遇到,现在实践了一遍,感觉应该是之前目录提前创建了的问题

实践步骤

安装docker

1
yum install docker

下载ceph镜像

这个镜像是sebastien维护的,他是redhat的ceph工程师,ceph-ansible的负责人,很多一线的资料都是来自他的分享,这个是一个集成好的镜像

@@ -280,7 +280,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

基于Docker UI 配置ceph集群

基于Docker UI 配置ceph集群

前言

前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署Ceph的管理平台,这是因为OS的环境差异化太大,并且包的版本,以及各种软件的适配都可能造成失败,而docker比较固化环境,因此即使一个通用的UI也能很方便的部署出一个Cpeh集群

+}

基于Docker UI 配置ceph集群

基于Docker UI 配置ceph集群

前言

前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署Ceph的管理平台,这是因为OS的环境差异化太大,并且包的版本,以及各种软件的适配都可能造成失败,而docker比较固化环境,因此即使一个通用的UI也能很方便的部署出一个Cpeh集群

本篇就是对Docker UI部署集群做一个实践,对ceph了解,对docker了解,对dokcer的UI操作进行一定的了解的情况下,再做实践会比较好,总体上还是比较简单的

安装并运行portainer

安装软件

1
2
3
4
cd /opt
wget https://github.com/portainer/portainer/releases/download/1.12.1/portainer-1.12.1-linux-amd64.tar.gz
tar xvpfz portainer-1.12.1-linux-amd64.tar.gz
cd portainer

运行软件

1
./portainer -H unix:///var/run/docker.sock  -p ":9999"
@@ -320,7 +320,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph实现数据的'不拆分'

Ceph实现数据的'不拆分'

前言

之前看过一个朋友一篇文章,讲述的是Vsan为什么使用的是两副本,而ceph则大多数情况下需要三副本,当时个人观点是这个并不是关键点,但是在仔细考虑了问题的出发点以后,这个也可以说是其中的一个点

+}

Ceph实现数据的'不拆分'

Ceph实现数据的'不拆分'

前言

之前看过一个朋友一篇文章,讲述的是Vsan为什么使用的是两副本,而ceph则大多数情况下需要三副本,当时个人观点是这个并不是关键点,但是在仔细考虑了问题的出发点以后,这个也可以说是其中的一个点

一个集群数据丢失可以从多方面去看

  • 发生丢失数据的事件,这个来说,出现这个事件的概率是一致的,同等硬件情况下没有谁的系统能够说在两副本情况下把这个出现坏盘概率做的比其他系统更低
  • @@ -291,7 +291,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

编译的Ceph二进制文件过大问题

编译的Ceph二进制文件过大问题

前言

在ceph的研发群里看到一个cepher提出一个问题,编译的ceph的二进制文件过大,因为我一直用的打包好的rpm包,没有关注这个问题,重新编译了一遍发现确实有这个问题

+}

编译的Ceph二进制文件过大问题

编译的Ceph二进制文件过大问题

前言

在ceph的研发群里看到一个cepher提出一个问题,编译的ceph的二进制文件过大,因为我一直用的打包好的rpm包,没有关注这个问题,重新编译了一遍发现确实有这个问题

本篇就是记录如何解决这个问题的

打rpm包的方式

用我自己的环境编译的时候发现一个问题,编译出来的rpm包还是很大,开始怀疑是机器的原因,换了一台发现二进制包就很小了,然后查询了很多资料以后,找到了问题所在

在打rpm包的时候可以通过宏变量去控制是否打出一个的debug的包,这个包的作用就是把二进制文件当中包含的debug的相关的全部抽离出来形成一个新的rpm包,而我的环境不知道什么时候在/root/.rpmmacros添加进去了一个

@@ -267,7 +267,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

小文件测试数据准备

小文件测试数据准备

前言

在看一个Linux Vault 2017的资料的时候,看到红帽分享的一个测试的过程,里面关于小文件元数据性能测试的,环境准备的还比较好,可以作为一种测试模型

+}

小文件测试数据准备

小文件测试数据准备

前言

在看一个Linux Vault 2017的资料的时候,看到红帽分享的一个测试的过程,里面关于小文件元数据性能测试的,环境准备的还比较好,可以作为一种测试模型

测试用例

测试用例一:

small

使用find -name 测试 find -size 测试

测试用例二:

large

@@ -241,7 +241,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph如何实现文件系统的横向扩展

Ceph如何实现文件系统的横向扩展

前言

在跟一个朋友聊天的时候,聊到一个技术问题,他们的一个环境上面小文件巨多,是我目前知道的集群里面规模算非常大的了,但是目前有个问题,一方面会进行一倍的硬件的扩容,而文件的数量也在剧烈的增长着,所以有没有什么办法来 缓解这个增长的压力

+}

Ceph如何实现文件系统的横向扩展

Ceph如何实现文件系统的横向扩展

前言

在跟一个朋友聊天的时候,聊到一个技术问题,他们的一个环境上面小文件巨多,是我目前知道的集群里面规模算非常大的了,但是目前有个问题,一方面会进行一倍的硬件的扩容,而文件的数量也在剧烈的增长着,所以有没有什么办法来 缓解这个增长的压力

当时也没想到太多的办法,只是觉得这么用下去风险太大

后来在思考了一段时间后,大概有了一个想法,这个就要看是否能把方案做下去,如果是我自己在用的集群,而非客户,我会这么去用的

方案介绍

方案一

也就是默认的方案,一般来说就是一个主MDS,然后几个备用MDS,整个一个挂载点,全局混用的空间

@@ -270,7 +270,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

查看ceph集群被哪些客户端连接

查看ceph集群被哪些客户端连接

前言

我们在使用集群的时候,一般来说比较关注的是后台的集群的状态,但是在做一些更人性化的管理功能的时候,就需要考虑到更多的细节

+}

查看ceph集群被哪些客户端连接

查看ceph集群被哪些客户端连接

前言

我们在使用集群的时候,一般来说比较关注的是后台的集群的状态,但是在做一些更人性化的管理功能的时候,就需要考虑到更多的细节

本篇就是其中的一个点,查询ceph被哪些客户端连接了

实践

从接口上来说,ceph提供了文件,块,和对象的接口,所以不同的接口需要不同的查询方式,因为我接触文件和块比较多,并且文件和块存储属于长连接类型,对象属于请求类型,所以主要关注文件和块存储的连接信息查询

我的集群状态如下

@@ -249,7 +249,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph删除OSD上一个异常object

Ceph删除OSD上一个异常object

前言

ceph里面的数据是以对象的形式存储在OSD当中的,有的时候因为磁盘的损坏或者其它的一些特殊情况,会引起集群当中的某一个对象的异常,那么我们需要对这个对象进行处理

+}

Ceph删除OSD上一个异常object

Ceph删除OSD上一个异常object

前言

ceph里面的数据是以对象的形式存储在OSD当中的,有的时候因为磁盘的损坏或者其它的一些特殊情况,会引起集群当中的某一个对象的异常,那么我们需要对这个对象进行处理

在对象损坏的情况下,启动OSD有的时候都会有问题,那么通过rados rm的方式是没法发送到这个无法启动的OSD的,也就无法删除,所以需要用其他的办法来处理这个情况

处理步骤

查找对象的路径

1
2
[root@lab8106 ~]# ceph osd map rbd  rbd_data.857e6b8b4567.00000000000000ba
osdmap e53 pool 'rbd' (0) object 'rbd_data.857e6b8b4567.00000000000000ba' -> pg 0.2daee1ba (0.3a) -> up ([1], p1) acting ([1], p1)

先找到这个对象所在的OSD以及PG

@@ -246,7 +246,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

为什么删除的Ceph对象还能get

为什么删除的Ceph对象还能get

前言

在很久以前在研究一套文件系统的时候,当时发现一个比较奇怪的现象,没有文件存在,磁盘容量还在增加,在研究了一段时间后,发现这里面有一种比较奇特的处理逻辑

+}

为什么删除的Ceph对象还能get

为什么删除的Ceph对象还能get

前言

在很久以前在研究一套文件系统的时候,当时发现一个比较奇怪的现象,没有文件存在,磁盘容量还在增加,在研究了一段时间后,发现这里面有一种比较奇特的处理逻辑

这套文件系统在处理一个文件的时候放入的是一个临时目录,最开始在发送第一个写请求后,在操作系统层面马上进行了一个delete操作,而写还在继续,并且需要处理这个数据的进程一直占着的,一旦使用完这个文件,不需要做处理,这个文件就会自动释放掉,而无需担心临时文件占用空间的问题

在Ceph集群当中,有人碰到了去后台的OSD直接rm一个对象后,在前端通过rados还能get到这个删除的对象,而不能rados ls到,我猜测就是这个原因,我们来看下怎么验证这个问题

验证步骤

准备测试数据,并且put进去集群

1
2
3
4
5
[root@lab8106 ~]# cat zp1 
sdasdasd
[root@lab8106 ~]# rados -p rbd put zp1 zp1
[root@lab8106 ~]# rados -p rbd ls
zp1
@@ -253,7 +253,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Cephfs的文件存到哪里了

Cephfs的文件存到哪里了

前言

在ceph里面使用rbd接口的时候,存储的数据在后台是以固定的prifix的对象存在的,这样就能根据相同的前缀对象去对image文件进行拼接或者修复

+}

Cephfs的文件存到哪里了

Cephfs的文件存到哪里了

前言

在ceph里面使用rbd接口的时候,存储的数据在后台是以固定的prifix的对象存在的,这样就能根据相同的前缀对象去对image文件进行拼接或者修复

在文件系统里面这一块就要复杂一些,本篇就写的关于这个,文件和对象的对应关系是怎样的,用系统命令怎么定位,又是怎么得到这个路径的

实践

根据系统命令进行文件的定位

写入测试文件

1
dd if=/dev/zero of=/mnt/testfile bs=4M count=10
@@ -278,7 +278,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rados put striper功能的调试

rados put striper功能的调试

前言

之前对于striper这个地方的功能并没研究太多,只是知道这个里面可以以条带方式并行的去写对象,从而加大并发性来提高性能,而默认的条带数目为1,也就是以对象大小去写,并没有条带,所以不是很好感觉到差别,今天就尝试下用rados命令来看下这个条带是怎么回事

+}

rados put striper功能的调试

rados put striper功能的调试

前言

之前对于striper这个地方的功能并没研究太多,只是知道这个里面可以以条带方式并行的去写对象,从而加大并发性来提高性能,而默认的条带数目为1,也就是以对象大小去写,并没有条带,所以不是很好感觉到差别,今天就尝试下用rados命令来看下这个条带是怎么回事

实践过程

最开始我的集群是用rpm包进行安装的,这个可以做一些常规的测试,如果需要改动一些代码的话,就比较麻烦了,本文后面会讲述怎么改动一点点代码,然后进行测试

我们一般来说用rados put操作就是一个完整的文件,并不会进行拆分,我们尝试下看下

@@ -280,7 +280,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph根据Crush位置读取数据

Ceph根据Crush位置读取数据

前言

在ceph研发群里面看到一个cepher在问关于怎么读取ceph的副本的问题,这个功能应该在2012年的时候,我们公司的研发就修改了代码去实现这个功能,只是当时的硬件条件所限,以及本身的稳定性问题,后来没有在生产当中使用

+}

Ceph根据Crush位置读取数据

Ceph根据Crush位置读取数据

前言

在ceph研发群里面看到一个cepher在问关于怎么读取ceph的副本的问题,这个功能应该在2012年的时候,我们公司的研发就修改了代码去实现这个功能,只是当时的硬件条件所限,以及本身的稳定性问题,后来没有在生产当中使用

我们都知道ceph在写数据的时候,是先写主本,然后去写副本,而读取的时候,实际上只有主本能够提供服务,这对于磁盘的整体带宽来说,并没有充分的发挥其性能,所以能够读取副本当然是会有很大好处的,特别是对于读场景比较多的情况

那么在ceph当中是不是有这个功能呢?其实是有的,这个地方ceph更往上走了一层,是基于crush定义的地址去进行文件的读取,这样在读取的客户端眼里,就没有什么主副之分,他会按自己想要的区域去尽量读取,当然这个区域没有的时候就按正常读取就可以了

实践

如果你看过关于ceph hadoop的相关配置文档,应该会看到这么一个配置

@@ -266,7 +266,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

mdsjournalFAILEDassert解决

mdsjournalFAILEDassert解决

前言

在处理一个其他双活MDS无法启动环境的时候,查看mds的日志看到了这个错误mds/journal.cc: 2929: FAILED assert(mds->sessionmap.get_version() == cmapv),在查询资料以后,暂时得到了解决,在生产环境下还是不建议使用双活MDS

+}

mdsjournalFAILEDassert解决

mdsjournalFAILEDassert解决

前言

在处理一个其他双活MDS无法启动环境的时候,查看mds的日志看到了这个错误mds/journal.cc: 2929: FAILED assert(mds->sessionmap.get_version() == cmapv),在查询资料以后,暂时得到了解决,在生产环境下还是不建议使用双活MDS

处理步骤

这个是双MDS多活情况下出现的一个问题,在什么情况下出现还无法判断,目前只看到是有这个问题,并且有其他人也出现了 issue17113
按照disaster-recovery建议的步骤做了如下处理:

备份下journal

1
cephfs-journal-tool journal export backup.bin
@@ -246,7 +246,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

关于backfill参数建议

关于backfill参数建议

前言

在做一个比较满的集群的扩容的时候,遇到了一些问题,在这里做下总结,一般来说很难遇到,扩容要趁早,不然出的问题都是稀奇古怪的一些问题

+}

关于backfill参数建议

关于backfill参数建议

前言

在做一个比较满的集群的扩容的时候,遇到了一些问题,在这里做下总结,一般来说很难遇到,扩容要趁早,不然出的问题都是稀奇古怪的一些问题

建议

环境一般来说在70%左右就需要考虑扩容了,这个时候的扩容数据迁移的少,遇到的问题自然会少很多,所谓的参数设置并不是一个单纯的参数的设置,所以一般来说在调优参数的时候,个人觉得只有适配硬件进行调优,所以本篇的参数同样是一个组合形式的

首先罗列出本篇涉及的所有参数

@@ -252,7 +252,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph OSD从filestore 转换到 bluestore的方法

Ceph OSD从filestore 转换到 bluestore的方法

前言

前段时间看到豪迈的公众号上提到了这个离线转换工具,最近看到群里有人问,找了下没什么相关文档,就自己写了一个,供参考

+}

Ceph OSD从filestore 转换到 bluestore的方法

Ceph OSD从filestore 转换到 bluestore的方法

前言

前段时间看到豪迈的公众号上提到了这个离线转换工具,最近看到群里有人问,找了下没什么相关文档,就自己写了一个,供参考

实践步骤

获取代码并安装

1
2
3
4
5
git clone https://github.com/ceph/ceph.git
cd ceph
git submodule update --init --recursive
./make-dist
rpm -bb ceph.spec

生成rpm安装包后进行安装,这个过程就不讲太多,根据各种文档安装上最新的版本即可,这个代码合进去时间并不久,大概是上个月才合进去的

配置集群

首先配置一个filestore的集群,这个也是很简单的,我的环境配置一个单主机三个OSD的集群

@@ -269,7 +269,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

多MDS变成单MDS的方法

多MDS变成单MDS的方法

前言

之前有个cepher的环境上是双活MDS的,需要变成MDS,目前最新版本是支持这个操作的

+}

多MDS变成单MDS的方法

多MDS变成单MDS的方法

前言

之前有个cepher的环境上是双活MDS的,需要变成MDS,目前最新版本是支持这个操作的

方法

设置最大mds

多活的mds的max_mds会超过1,这里需要先将max_mds设置为1

1
ceph mds set max_mds 1

deactive mds

看下需要停掉的mds是rank 0 还是rank1,然后执行下面的命令即可

@@ -242,7 +242,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Freebsd10.2安装包升级pkg引起环境破坏的解决

Freebsd10.2安装包升级pkg引起环境破坏的解决

前言

freebsd10.2环境在安装一个新软件包的时候提示升级pkg到1.10.1,然后点击了升级,然后整个pkg环境就无法使用了

+}

Freebsd10.2安装包升级pkg引起环境破坏的解决

Freebsd10.2安装包升级pkg引起环境破坏的解决

前言

freebsd10.2环境在安装一个新软件包的时候提示升级pkg到1.10.1,然后点击了升级,然后整个pkg环境就无法使用了

记录

升级完了软件包以后第一个错误提示

FreeBSD: /usr/local/lib/libpkg.so.3: Undefined symbol “utimensat”

@@ -273,7 +273,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Centos7升级内核后无法启动解决办法

Centos7升级内核后无法启动解决办法

前言

这个问题存在有一段时间了,之前做的centos7的ISO,在进行内核的升级以后就存在这个问题:

+}

Centos7升级内核后无法启动解决办法

Centos7升级内核后无法启动解决办法

前言

这个问题存在有一段时间了,之前做的centos7的ISO,在进行内核的升级以后就存在这个问题:

  • 系统盘在板载sata口上是可以正常启动新内核并且能识别面板硬盘
  • 系统盘插在面板口上新内核无法启动,调试发现无法找到系统盘
  • @@ -266,7 +266,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph部署mon出现0.0.0.0地址

Ceph部署mon出现0.0.0.0地址

前言

最近在群里两次看到出现mon地址不对的问题,都是显示0.0.0.0:0地址,如下所示:

+}

Ceph部署mon出现0.0.0.0地址

Ceph部署mon出现0.0.0.0地址

前言

最近在群里两次看到出现mon地址不对的问题,都是显示0.0.0.0:0地址,如下所示:

1
2
3
4
5
[root@lab8106 ceph]# ceph -s
cluster 3137d009-e41e-41f0-b8f8-5cb574502572
health HEALTH_ERR
1 mons down, quorum 0,1,2 lab8106,node8107,lab104
monmap e2: 4 mons at {lab104=192.168.10.4:6789/0,lab8106=192.168.8.106:6789/0,lab8107=0.0.0.0:0/2,node8107=192.168.8.107:6789/0}

这个之前偶尔会看到有出现这个问题,但是自己一直没碰到过,想看下是什么情况下触发的,在征得这个cepher的同意后,登录上他的环境检查了一下,发现是主机名引起的这个问题

@@ -243,7 +243,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

使用日志系统graylog获取Ceph集群状态

使用日志系统graylog获取Ceph集群状态

前言

在看集群的配置文件的时候看到ceph里面有一个graylog的输出选择,目前看到的是可以收集mon日志和clog,osd单个的日志没有看到,Elasticsearch有整套的日志收集系统,可以很方便的将所有日志汇总到一起,这个graylog的收集采用的是自有的udp协议,从配置上来说可以很快的完成,这里只做一个最基本的实践

+}

使用日志系统graylog获取Ceph集群状态

使用日志系统graylog获取Ceph集群状态

前言

在看集群的配置文件的时候看到ceph里面有一个graylog的输出选择,目前看到的是可以收集mon日志和clog,osd单个的日志没有看到,Elasticsearch有整套的日志收集系统,可以很方便的将所有日志汇总到一起,这个graylog的收集采用的是自有的udp协议,从配置上来说可以很快的完成,这里只做一个最基本的实践

系统实践

graylog日志系统主要由三个组件组成的

  • MongoDB – 存储配置信息和一些元数据信息的,MongoDB (>= 2.4)
  • @@ -322,7 +322,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

调整PG分多次调整和一次到位的迁移差别分析

调整PG分多次调整和一次到位的迁移差别分析

前言

这个问题来源于我们研发的一个问题,在进行pg调整的时候,是一次调整到位好,还是分多次调整比较好,分多次调整的时候会不会出现某个pg反复挪动的问题,造成整体迁移量大于一次调整的

+}

调整PG分多次调整和一次到位的迁移差别分析

调整PG分多次调整和一次到位的迁移差别分析

前言

这个问题来源于我们研发的一个问题,在进行pg调整的时候,是一次调整到位好,还是分多次调整比较好,分多次调整的时候会不会出现某个pg反复挪动的问题,造成整体迁移量大于一次调整的

最近自己的项目上也有pg调整的需求,这个需求一般来源于pg规划好了,后期出现节点扩容的情况,需要对pg进行增加的调整

本篇用具体的数据来分析两种方式的差别

因为本篇的篇幅较长,直接先把结论拿出来

@@ -364,7 +364,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph luminous 新功能之内置dashboard

ceph luminous 新功能之内置dashboard

前言

ceph luminous版本新增加了很多有意思的功能,这个也是一个长期支持版本,所以这些新功能的特性还是很值得期待的,从底层的存储改造,消息方式的改变,以及一些之前未实现的功能的完成,都让ceph变得更强,这里面有很多核心模块来自中国的开发者,在这里准备用一系列的文章对这些新功能进行一个简单的介绍,也是自己的一个学习的过程

+}

ceph luminous 新功能之内置dashboard

ceph luminous 新功能之内置dashboard

前言

ceph luminous版本新增加了很多有意思的功能,这个也是一个长期支持版本,所以这些新功能的特性还是很值得期待的,从底层的存储改造,消息方式的改变,以及一些之前未实现的功能的完成,都让ceph变得更强,这里面有很多核心模块来自中国的开发者,在这里准备用一系列的文章对这些新功能进行一个简单的介绍,也是自己的一个学习的过程

相关配置

配置ceph国内源

修改 /etc/yum.repos.d/ceph.repo文件

1
2
3
4
5
6
7
8
[ceph]
name=ceph
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0

添加完更新下缓存

@@ -280,7 +280,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph luminous 新功能之磁盘智能分组

ceph luminous 新功能之磁盘智能分组

前言

本篇是luminous一个新功能介绍,关于磁盘智能分组的,这个在ceph里面叫crush class,这个我自己起名叫磁盘智能分组,因为这个实现的功能就是根据磁盘类型进行属性关联,然后进行分类,减少了很多的人为操作

+}

ceph luminous 新功能之磁盘智能分组

ceph luminous 新功能之磁盘智能分组

前言

本篇是luminous一个新功能介绍,关于磁盘智能分组的,这个在ceph里面叫crush class,这个我自己起名叫磁盘智能分组,因为这个实现的功能就是根据磁盘类型进行属性关联,然后进行分类,减少了很多的人为操作

以前我们需要对ssd和hdd进行分组的时候,需要大量的修改crush map,然后绑定不同的存储池到不同的 crush 树上面,现在这个逻辑简化了很多

ceph crush class {create,rm,ls} manage the new CRUSH device

class feature. ceph crush set-device-class

will set the clas for a particular device.

@@ -272,7 +272,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Cephfs 操作输出到日志查询系统

Cephfs 操作输出到日志查询系统

前言

文件系统当中如果某些文件不见了,有什么办法判断是删除了还是自己不见了,这个就需要去日志里面定位了,通常情况下是去翻日志,而日志是会进行压缩的,并且查找起来非常的不方便,还有可能并没有开启

+}

Cephfs 操作输出到日志查询系统

Cephfs 操作输出到日志查询系统

前言

文件系统当中如果某些文件不见了,有什么办法判断是删除了还是自己不见了,这个就需要去日志里面定位了,通常情况下是去翻日志,而日志是会进行压缩的,并且查找起来非常的不方便,还有可能并没有开启

这个时候就需要日志系统了,最近正好看到一篇最佳日志实践(v2.0),一篇非常好的文章,本篇日志属于文章里面所提到的统计日志,统计客户端做了什么操作

对于日志系统来说,很重要的一点,能够很方便的进行查询,这就需要对日志信息进行一些处理了,怎么处理就是设计问题,要求就是不多不少

结构

mdslogsystem.png-32.4kB

@@ -291,7 +291,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

利用火焰图分析ceph pg分布

利用火焰图分析ceph pg分布

前言

性能优化大神Brendan Gregg发明了火焰图来定位性能问题,通过图表就可以发现问题出在哪里,通过svg矢量图来查看性能卡在哪个点,哪个操作占用的资源最多

+}

利用火焰图分析ceph pg分布

利用火焰图分析ceph pg分布

前言

性能优化大神Brendan Gregg发明了火焰图来定位性能问题,通过图表就可以发现问题出在哪里,通过svg矢量图来查看性能卡在哪个点,哪个操作占用的资源最多

在查看了原始数据后,这个分析的原理是按层级来对调用进行一个计数,然后以层级去做比对,来看横向的占用的比例情况

基于这个原理,把osd tree的数据和pg数据可以做一个层级的组合,从而可以很方便的看出pg的分布情况,主机的分布情况,还可以进行搜索,在一个简单的图表内汇聚了大量的信息

实践

获取需要的数据,这个获取数据是我用一个脚本解析的osd tree 和pg dump,然后按照需要的格式进行输出

@@ -261,7 +261,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

从ceph对象中提取RBD中的指定文件

从ceph对象中提取RBD中的指定文件

前言

之前有个想法,是不是有办法找到rbd中的文件与对象的关系,想了很久但是一直觉得文件系统比较复杂,在fs 层的东西对ceph来说是透明的,并且对象大小是4M,而文件很小,可能在fs层进行了合并,应该很难找到对应关系,最近看到小胖有提出这个问题,那么就再次尝试了,现在就是把这个实现方法记录下来

+}

从ceph对象中提取RBD中的指定文件

从ceph对象中提取RBD中的指定文件

前言

之前有个想法,是不是有办法找到rbd中的文件与对象的关系,想了很久但是一直觉得文件系统比较复杂,在fs 层的东西对ceph来说是透明的,并且对象大小是4M,而文件很小,可能在fs层进行了合并,应该很难找到对应关系,最近看到小胖有提出这个问题,那么就再次尝试了,现在就是把这个实现方法记录下来

这个提取的作用个人觉得最大的好处就是一个rbd设备,在文件系统层被破坏以后,还能够从rbd提取出文件,我们知道很多情况下设备的文件系统一旦破坏,无法挂载,数据也就无法读取,而如果能从rbd中提取出文件,这就是保证了即使文件系统损坏的情况下,数据至少不丢失

本篇是基于xfs文件系统情况下的提取,其他文件系统有时间再看看,因为目前使用的比较多的就是xfs文件系统

@@ -304,7 +304,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

RBD快速删除的方法分析与改进

RBD快速删除的方法分析与改进

前言

这个问题在很久以前就有一篇文章进行过讨论 remove-big-rbd,这个文章写的比较清楚了,并且对不同的方法做了分析,这里先把结论说下

+}

RBD快速删除的方法分析与改进

RBD快速删除的方法分析与改进

前言

这个问题在很久以前就有一篇文章进行过讨论 remove-big-rbd,这个文章写的比较清楚了,并且对不同的方法做了分析,这里先把结论说下

@@ -345,7 +345,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论

Ceph S3 基于NGINX的集群复制方案

Ceph S3 基于NGINX的集群复制方案

前言

ceph的s3数据的同步可以通过radosgw-agent进行同步,同region可以同步data和metadata,不同region只能同步metadata,这个地方可以参考下秦牧羊梳理的 ceph radosgw 多集群同步部署流程,本篇讲述的方案与radosgw-agent的复制方案不同在于,这个属于前端复制,后端相当于透明的两个相同集群,在入口层面就将数据进行了复制分流

+}

Ceph S3 基于NGINX的集群复制方案

Ceph S3 基于NGINX的集群复制方案

前言

ceph的s3数据的同步可以通过radosgw-agent进行同步,同region可以同步data和metadata,不同region只能同步metadata,这个地方可以参考下秦牧羊梳理的 ceph radosgw 多集群同步部署流程,本篇讲述的方案与radosgw-agent的复制方案不同在于,这个属于前端复制,后端相当于透明的两个相同集群,在入口层面就将数据进行了复制分流

在某些场景下,需求可能比较简单:

  • 需要数据能同时存储在两个集群当中
  • @@ -286,7 +286,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论

Ceph recover的速度控制

Ceph recover的速度控制

前言

磁盘损坏对于一个大集群来说,可以说是必然发生的事情,即使再小的概率,磁盘量上去,总会坏那么几块盘,这个时候就会触发内部的修复过程,修复就是让不满足副本要求的PG,恢复到满足的情况

+}

Ceph recover的速度控制

Ceph recover的速度控制

前言

磁盘损坏对于一个大集群来说,可以说是必然发生的事情,即使再小的概率,磁盘量上去,总会坏那么几块盘,这个时候就会触发内部的修复过程,修复就是让不满足副本要求的PG,恢复到满足的情况

一般是踢掉坏盘和增加新盘会触发这个修复过程,或者对磁盘的权重做了修改,也会触发这个迁移的过程,本篇是用剔除OSD的方式来对这个修复的控制做一个探索

大部分场景下要求的是不能影响前端的业务,而加速迁移,忽略迁移影响不在本篇的讨论范围内,本篇将用数据来说明迁移的控制

本次测试在无读写情况下进程的

@@ -316,7 +316,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论

如何测量Ceph OSD内存占用

如何测量Ceph OSD内存占用

前言

这个工具我第一次看到是在填坑群里面看到,是由研发-北京-蓝星同学分享的,看到比较有趣,就写一篇相关的记录下用法

+}

如何测量Ceph OSD内存占用

如何测量Ceph OSD内存占用

前言

这个工具我第一次看到是在填坑群里面看到,是由研发-北京-蓝星同学分享的,看到比较有趣,就写一篇相关的记录下用法

火焰图里面也可以定位内存方面的问题,那个是通过一段时间的统计,以一个汇总的方式来查看内存在哪个地方可能出了问题

本篇是另外一个工具,这个工具的好处是有很清晰的图表操作,以及基于时间线的统计,下面来看下这个工具怎么使用的

@@ -268,7 +268,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论

关于scrub的详细分析和建议

关于scrub的详细分析和建议

前言

关于scrub这块一直想写一篇文章的,这个在很久前,就做过一次测试,当时是看这个scrub到底有多大的影响,当时看到的是磁盘读占很高,启动deep-scrub后会有大量的读,前端可能会出现 slow request,这个是当时测试看到的现象,一个比较简单的处理办法就是直接给scrub关掉了,当然关掉了就无法检测底层到底有没有对象不一致的问题
关于这个scrub生产上是否开启,仁者见仁,智者见智,就是选择的问题了,这里不做讨论,个人觉得开和关都有各自的道理,本篇是讲述的如果想开启的情况下如何把scrub给控制住

+}

关于scrub的详细分析和建议

关于scrub的详细分析和建议

前言

关于scrub这块一直想写一篇文章的,这个在很久前,就做过一次测试,当时是看这个scrub到底有多大的影响,当时看到的是磁盘读占很高,启动deep-scrub后会有大量的读,前端可能会出现 slow request,这个是当时测试看到的现象,一个比较简单的处理办法就是直接给scrub关掉了,当然关掉了就无法检测底层到底有没有对象不一致的问题
关于这个scrub生产上是否开启,仁者见仁,智者见智,就是选择的问题了,这里不做讨论,个人觉得开和关都有各自的道理,本篇是讲述的如果想开启的情况下如何把scrub给控制住

最近在ceph群里看到一段大致这样的讨论:

scrub是个坑

@@ -295,7 +295,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论

为什么关不掉所有的OSD

为什么关不掉所有的OSD

前言

碰到一个cepher问了一个问题:

+}

为什么关不掉所有的OSD

为什么关不掉所有的OSD

前言

碰到一个cepher问了一个问题:

为什么我的OSD关闭到最后有92个OSD无法关闭,总共的OSD有300个左右

@@ -261,7 +261,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论

osd磁盘空间足够无法写入数据的分析与解决

osd磁盘空间足够无法写入数据的分析与解决

前言

这个问题的来源是ceph社区里面一个群友的环境出现在85%左右的时候,启动osd报错,然后在本地文件系统当中进行touch文件的时候也是报错,df -i查询inode也是没用多少,使用的也是inode64挂载的,开始的时候排除了配置原因引起的,在ceph的邮件列表里面有一个相同问题,也是没有得到解决

+}

osd磁盘空间足够无法写入数据的分析与解决

osd磁盘空间足够无法写入数据的分析与解决

前言

这个问题的来源是ceph社区里面一个群友的环境出现在85%左右的时候,启动osd报错,然后在本地文件系统当中进行touch文件的时候也是报错,df -i查询inode也是没用多少,使用的也是inode64挂载的,开始的时候排除了配置原因引起的,在ceph的邮件列表里面有一个相同问题,也是没有得到解决

看到这个问题比较感兴趣,就花了点时间来解决来定位和解决这个问题,现在分享出来,如果有类似的生产环境,可以提前做好检查预防工作

##现象描述
ceph版本

@@ -317,7 +317,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论

Ceph OSD服务失效自动启动控制

Ceph OSD服务失效自动启动控制

前言

服务器上面的服务会因为各种各样的原因失败,磁盘故障,权限问题,或者是服务过载引起超时,这些都可能引起

+}

Ceph OSD服务失效自动启动控制

Ceph OSD服务失效自动启动控制

前言

服务器上面的服务会因为各种各样的原因失败,磁盘故障,权限问题,或者是服务过载引起超时,这些都可能引起

这个在ceph里面systemctl unit 默认有个on-fail restart,默认的可能并不适合所有的场景,所以自动化的服务应该是尽量去适配你手动处理的过程,手动怎么处理的,就怎么去设置

启动分析

如果有osd失败了,一般上去会先启动一次,尽快让服务启动,然后去检查是否有故障,如果失败了,就开启调试日志,再次重启,在问题解决之前,是不会再启动了,所以这里我们的自动启动设置也这么设置

参数配置

ceph的osd的启动配置在这个配置文件

@@ -314,7 +314,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论

怎样禁止Ceph OSD的自动挂载

怎样禁止Ceph OSD的自动挂载

前言

本篇来源于群里一个人的问题,有没有办法让ceph的磁盘不自动挂载,一般人的问题都是怎样让ceph能够自动挂载,在centos 7 平台下 ceph jewel版本以后都是有自动挂载的处理的,这个我之前也写过两篇文章《ceph在centos7下一个不容易发现的改变》和《Ceph数据盘怎样实现自动挂载》,来讲述这个自动挂载的

+}

怎样禁止Ceph OSD的自动挂载

怎样禁止Ceph OSD的自动挂载

前言

本篇来源于群里一个人的问题,有没有办法让ceph的磁盘不自动挂载,一般人的问题都是怎样让ceph能够自动挂载,在centos 7 平台下 ceph jewel版本以后都是有自动挂载的处理的,这个我之前也写过两篇文章《ceph在centos7下一个不容易发现的改变》和《Ceph数据盘怎样实现自动挂载》,来讲述这个自动挂载的

这里讲下流程:

开机后 udev 匹配 95-ceph-osd.rules 规则,触发 ceph-disk trigger,遍历磁盘,匹配到磁盘的标记后就触发了自动挂载

@@ -265,7 +265,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论

掉电后osdmap丢失无法启动osd的解决方案

掉电后osdmap丢失无法启动osd的解决方案

前言

本篇讲述的是一个比较极端的故障的恢复场景,在整个集群全部服务器突然掉电的时候,osd里面的osdmap可能会出现没刷到磁盘上的情况,这个时候osdmap的最新版本为空或者为没有这个文件

+}

掉电后osdmap丢失无法启动osd的解决方案

掉电后osdmap丢失无法启动osd的解决方案

前言

本篇讲述的是一个比较极端的故障的恢复场景,在整个集群全部服务器突然掉电的时候,osd里面的osdmap可能会出现没刷到磁盘上的情况,这个时候osdmap的最新版本为空或者为没有这个文件

还有一种情况就是机器宕机了,没有马上处理,等了一段时间以后,服务器机器启动了起来,而这个时候osdmap已经更新了,全局找不到需要的旧版本的osdmap和incmap,osd无法启动

一般情况下能找到的就直接从其他osd上面拷贝过来,然后就可以启动了,本篇讲述的是无法启动的情况

解决方案

获取运行的ceph集群当前版本

1
2
[root@lab8107 ~]# ceph -v
ceph version 10.2.9 (2ee413f77150c0f375ff6f10edd6c8f9c7d060d0)
@@ -311,7 +311,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

CentOS GRUB损坏修复方法

CentOS GRUB损坏修复方法

前言

博客很久没有更新了,一个原因就是原来存放部署博客的环境坏了,硬盘使用的是SSD,只要读取到某个文件,整个磁盘就直接识别不到了,还好博客环境之前有做备份,最近一直没有把部署环境做下恢复,今天抽空把环境做下恢复并且记录一篇基础的GRUB的处理文档

+}

CentOS GRUB损坏修复方法

CentOS GRUB损坏修复方法

前言

博客很久没有更新了,一个原因就是原来存放部署博客的环境坏了,硬盘使用的是SSD,只要读取到某个文件,整个磁盘就直接识别不到了,还好博客环境之前有做备份,最近一直没有把部署环境做下恢复,今天抽空把环境做下恢复并且记录一篇基础的GRUB的处理文档

这两天正好碰到GRUB损坏的事,很久前处理过,但是没留下文档,正好现在把流程梳理一下,来解决grub.cfg损坏的情况,或者无法启动的情况

实践步骤

安装操作系统的时候会有多种可能分区的方法,一个直接的分区,一个是用了lvm,本篇将几种分区的情况分别写出来

lvm分区的情况

1
2
3
4
5
6
7
8
9
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 927M 17G 6% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 143M 872M 15% /boot
tmpfs 183M 0 183M 0% /run/user/0
@@ -296,7 +296,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

mds的cpu占用问题分析以及解决办法

mds的cpu占用问题分析以及解决办法

前言

mds是ceph里面处理文件接口的组件,一旦使用文件系统,不可避免的会出现一种场景就是目录很多,目录里面的文件很多,而mds是一个单进程的组件,现在虽然有了muti mds,但稳定的使用的大部分场景还是单acitve mds的

+}

mds的cpu占用问题分析以及解决办法

mds的cpu占用问题分析以及解决办法

前言

mds是ceph里面处理文件接口的组件,一旦使用文件系统,不可避免的会出现一种场景就是目录很多,目录里面的文件很多,而mds是一个单进程的组件,现在虽然有了muti mds,但稳定的使用的大部分场景还是单acitve mds的

这就会出现一种情况,一旦一个目录里面有很多文件的时候,去查询这个目录里的文件就会在当前目录做一次遍历,这个需要一个比较长的时间,如果能比较好的缓存文件信息,也能避免一些过载情况,本篇讲述的是内核客户端正常,而export nfs后mds的负载长时间过高的情况

问题复现

准备测试数据,准备好监控环境

监控mds cpu占用

1
2
pidstat -u  1 -p 27076 > /tmp/mds.cpu.log
UserParameter=mds.cpu,cat /tmp/mds.cpu.log|tail -n 1|grep -v Average| awk '{print $8}'
@@ -294,7 +294,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Ceph对象主本损坏的修复方法

Ceph对象主本损坏的修复方法

前言

问题的触发是在进行一个目录的查询的时候,osd就会挂掉,开始以为是osd操作超时了,后来发现每次访问这个对象都有问题

+}

Ceph对象主本损坏的修复方法

Ceph对象主本损坏的修复方法

前言

问题的触发是在进行一个目录的查询的时候,osd就会挂掉,开始以为是osd操作超时了,后来发现每次访问这个对象都有问题

1
2
log [WRN] : slow request 60.793196 seconds old, received at osd_op(mds.0.188:728345234100006c6ddc.00000000 [o map-get-header 0-0,omap-get-vals 0~16,getxattr parent] snapc 0=[] ack+read+known_if_redirected+full_force e218901) currently started
heartbeat_map is_healthy ··· osd_op_tp thread ··· had timed out after 60

这个对象是元数据的一个空对象,保留数据在扩展属性当中

然后做了一个操作判断是对象损坏了:

@@ -279,7 +279,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Kernel RBD的QOS配置方案

Kernel RBD的QOS配置方案

前言

关于qos的讨论有很多,ceph内部也正在实现着一整套的基于dmclock的qos的方案,这个不是本篇的内容,之前在社区的邮件列表看过有研发在聊qos的相关的实现的,当时一个研发就提出了在使用kernel rbd的时候,可以直接使用linux的操作系统qos来实现,也就是cgroup来控制读取写入

+}

Kernel RBD的QOS配置方案

Kernel RBD的QOS配置方案

前言

关于qos的讨论有很多,ceph内部也正在实现着一整套的基于dmclock的qos的方案,这个不是本篇的内容,之前在社区的邮件列表看过有研发在聊qos的相关的实现的,当时一个研发就提出了在使用kernel rbd的时候,可以直接使用linux的操作系统qos来实现,也就是cgroup来控制读取写入

cgroup之前也有接触过,主要测试了限制cpu和内存相关的,没有做io相关的测试,这个当然可以通过ceph内部来实现qos,但是有现成的解决方案的时候,可以减少很多开发周期,以及测试的成本

本篇将介绍的是kernel rbd的qos方案

时间过长

首先介绍下几个测试qos相关的命令,用来比较设置前后的效果
验证写入IOPS命令

@@ -266,7 +266,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

定位一个网络问题引起的ceph异常

定位一个网络问题引起的ceph异常

前言

有一个ceph环境出现了异常,状态就是恢复异常的慢,但是所有数据又都在走,只是非常的慢,本篇将记录探测出问题的过程,以便以后处理类似的问题有个思路

+}

定位一个网络问题引起的ceph异常

定位一个网络问题引起的ceph异常

前言

有一个ceph环境出现了异常,状态就是恢复异常的慢,但是所有数据又都在走,只是非常的慢,本篇将记录探测出问题的过程,以便以后处理类似的问题有个思路

处理过程

问题的现象是恢复的很慢,但是除此以外并没有其它的异常,通过iostat监控磁盘,也没有出现异常的100%的情况,暂时排除了是osd底层慢的问题

检测整体写入的速度

通过rados bench写入

1
rados -p rbd bench 5 write
@@ -252,7 +252,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

REDHAT 7.5beta 新推出的VDO功能

REDHAT 7.5beta 新推出的VDO功能

前言

关于VDO

VDO的技术来源于收购的Permabit公司,一个专门从事重删技术的公司,所以技术可靠性是没有问题的

+}

REDHAT 7.5beta 新推出的VDO功能

REDHAT 7.5beta 新推出的VDO功能

前言

关于VDO

VDO的技术来源于收购的Permabit公司,一个专门从事重删技术的公司,所以技术可靠性是没有问题的

VDO是一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽,VDO是基于块设备层之上的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可,功能的实现主要基于以下技术:

  • 零区块的排除:

    @@ -438,7 +438,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

parted会启动你的ceph osd,意外不?

parted会启动你的ceph osd,意外不?

前言

如果看到标题,你是不是第一眼觉得写错了,这个怎么可能,完全就是两个不相关的东西,最开始我也是这么想的,直到我发现真的是这样的时候,也是很意外,还是弄清楚下比较好,不然在某个操作下,也许就会出现意想不到的情况

+}

parted会启动你的ceph osd,意外不?

parted会启动你的ceph osd,意外不?

前言

如果看到标题,你是不是第一眼觉得写错了,这个怎么可能,完全就是两个不相关的东西,最开始我也是这么想的,直到我发现真的是这样的时候,也是很意外,还是弄清楚下比较好,不然在某个操作下,也许就会出现意想不到的情况

定位

如果你看过我的博客,正好看过这篇 <<ceph在centos7下一个不容易发现的改变>> ,那么应该还记得这个讲的是centos 7 下面通过udev来实现了osd的自动挂载,这个自动挂载就是本篇需要了解的前提

1
2
3
4
5
6
7
8
9
10
[root@lab101 ~]# df -h|grep ceph
/dev/sdf1 233G 34M 233G 1% /var/lib/ceph/osd/ceph-1
[root@lab101 ~]# systemctl stop ceph-osd@1
[root@lab101 ~]# umount /dev/sdf1
[root@lab101 ~]# parted -l &>/dev/null
[root@lab101 ~]# df -h|grep ceph
/dev/sdf1 233G 34M 233G 1% /var/lib/ceph/osd/ceph-1
[root@lab101 ~]# ps -ef|grep osd
ceph 62701 1 1 23:25 ? 00:00:00 /usr/bin/ceph-osd -f --cluster ceph --id 1 --setuser ceph --setgroup ceph
root 62843 35114 0 23:25 pts/0 00:00:00 grep --color=auto osd

看这个操作过程,是不是很神奇,是不是很意外,不管怎么说,parted -l的一个操作把我们的osd给自动mount 起来了,也自动给启动了

@@ -260,7 +260,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph的ISCSI GATEWAY

ceph的ISCSI GATEWAY

前言

最开始接触这个是在L版本的监控平台里面看到的,有个iscsi网关,但是没看到有类似的介绍,然后通过接口查询到了一些资料,当时由于有比较多的东西需要新内核,新版本的支持,所以并没有配置出来,由于内核已经更新迭代了几个小版本了,经过测试验证可以跑起来了,这里只是把东西跑起来,性能相关的对比需要根据去做

+}

ceph的ISCSI GATEWAY

ceph的ISCSI GATEWAY

前言

最开始接触这个是在L版本的监控平台里面看到的,有个iscsi网关,但是没看到有类似的介绍,然后通过接口查询到了一些资料,当时由于有比较多的东西需要新内核,新版本的支持,所以并没有配置出来,由于内核已经更新迭代了几个小版本了,经过测试验证可以跑起来了,这里只是把东西跑起来,性能相关的对比需要根据去做

实践过程

架构图

Ceph_iSCSI_HA_424879_1116_ECE-01.png-79.4kB

这个图是引用的红帽的架构图,可以理解为一个多路径的实现方式,那么这个跟之前的有什么不同

主要是有个新的tcmu-runner来处理LIO TCM后端存储的用户空间端的守护进程,这个是在内核之上多了一个用户态的驱动层,这样只需要根据tcmu的标准来对接接口就可以了,而不用去直接跟内核进行交互

@@ -325,7 +325,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

cosbench使用方法

cosbench使用方法

##前言
cosbench的功能很强大,但是配置起来可能就有点不是太清楚怎么配置了,本篇将梳理一下这个测试的配置过程,以及一些测试注意项目,以免无法完成自己配置模型的情况

+}

cosbench使用方法

cosbench使用方法

##前言
cosbench的功能很强大,但是配置起来可能就有点不是太清楚怎么配置了,本篇将梳理一下这个测试的配置过程,以及一些测试注意项目,以免无法完成自己配置模型的情况

##安装
cosbench模式是一个控制端控制几个driver向后端rgw发起请求

下载最新版本

@@ -363,7 +363,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

cephfs元数据池故障的恢复

cephfs元数据池故障的恢复

前言

cephfs 在L版本已经比较稳定了,这个稳定的意义个人觉得是在其故障恢复方面的成熟,一个文件系统可恢复是其稳定必须具备的属性,本篇就是根据官网的文档来实践下这个恢复的过程

+}

cephfs元数据池故障的恢复

cephfs元数据池故障的恢复

前言

cephfs 在L版本已经比较稳定了,这个稳定的意义个人觉得是在其故障恢复方面的成熟,一个文件系统可恢复是其稳定必须具备的属性,本篇就是根据官网的文档来实践下这个恢复的过程

实践过程

部署一个ceph Luminous集群

1
2
[root@lab102 ~]# ceph -v
ceph version 12.2.5 (cad919881333ac92274171586c827e01f554a70a) luminous (stable)

创建filestore

1
ceph-deploy osd create  lab102  --filestore  --data /dev/sdb1  --journal /dev/sdb2
@@ -302,7 +302,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph erasure默认的min_size分析

ceph erasure默认的min_size分析

引言

最近接触了两个集群都使用到了erasure code,一个集群是hammer版本的,一个环境是luminous版本的,两个环境都出现了incomplete,触发的原因有类似的地方,都是有osd的离线的问题

+}

ceph erasure默认的min_size分析

ceph erasure默认的min_size分析

引言

最近接触了两个集群都使用到了erasure code,一个集群是hammer版本的,一个环境是luminous版本的,两个环境都出现了incomplete,触发的原因有类似的地方,都是有osd的离线的问题

准备在本地环境进行复验的时候,发现了一个跟之前接触的erasure不同的地方,这里做个记录,以防后面出现同样的问题

分析过程

准备了一个luminous的集群,使用默认的erasure的profile进行了创建存储池的相关工作

1
2
3
4
5
[root@lab102 ~]# ceph osd erasure-code-profile get default
k=2
m=1
plugin=jerasure
technique=reed_sol_van
@@ -272,7 +272,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

利用s3-test进行ceph的接口兼容性测试

利用s3-test进行ceph的接口兼容性测试

前言

ceph的rgw能够提供一个兼容性的s3的接口,既然是兼容性,当然不可能是所有接口都会兼容,那么我们需要有一个工具来进行接口的验证以及测试,这个在其他测试工具里面有类似的posix接口验证工具,这类的工具就是跑测试用例,来输出通过或者不通过的列表

+}

利用s3-test进行ceph的接口兼容性测试

利用s3-test进行ceph的接口兼容性测试

前言

ceph的rgw能够提供一个兼容性的s3的接口,既然是兼容性,当然不可能是所有接口都会兼容,那么我们需要有一个工具来进行接口的验证以及测试,这个在其他测试工具里面有类似的posix接口验证工具,这类的工具就是跑测试用例,来输出通过或者不通过的列表

用此类的工具有个好的地方就是,能够对接口进行验证,来避免版本的更新带来的接口破坏

安装

直接对官方的分支进行clone下来,总文件数不多,下载很快

1
2
[root@lab101 s3]# git clone https://github.com/ceph/s3-tests.git
[root@lab101 s3]# cd s3-tests/
@@ -255,7 +255,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

快速构建ceph可视化监控系统

快速构建ceph可视化监控系统

前言

ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统

+}

快速构建ceph可视化监控系统

快速构建ceph可视化监控系统

前言

ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统

本系统组件如下:

  • ceph-jewel版本
  • @@ -272,7 +272,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

cephfs根据存储池显示df容量

cephfs根据存储池显示df容量

前言

如果用cephfs比较多,应该都知道,在cephfs的客户端进行mount以后,看到的容量显示的是集群的总的容量,也就是你的总的磁盘空间是多少这个地方显示的就是多少

+}

cephfs根据存储池显示df容量

cephfs根据存储池显示df容量

前言

如果用cephfs比较多,应该都知道,在cephfs的客户端进行mount以后,看到的容量显示的是集群的总的容量,也就是你的总的磁盘空间是多少这个地方显示的就是多少

这个一直都是这样显示的,我们之前在hammer版本的时候,阿茂和大黄一起在公司内部实现了这个功能,社区会慢慢的集成一些类似的面向面向商业用户的需求

社区已经开发了一个版本,接口都做的差不多了,那么稍微改改,就能实现想要的需求的

本篇内的改动是基于内核客户端代码的改动,改动很小,应该能够看的懂

@@ -314,7 +314,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

处理ceph incompelete的经验

处理ceph incompelete的经验

前言

最近已经见到几个环境出现过incompelete了,这个在很久以前Jewel正在合入mark-complete工具的时候就有做过类似的处理,但是随着处理的环境越来越多,这个地方还是有些需要注意的,本篇是写一些需要注意的点

+}

处理ceph incompelete的经验

处理ceph incompelete的经验

前言

最近已经见到几个环境出现过incompelete了,这个在很久以前Jewel正在合入mark-complete工具的时候就有做过类似的处理,但是随着处理的环境越来越多,这个地方还是有些需要注意的,本篇是写一些需要注意的点

一般来说是环境有多个机器同时坏盘或者掉电,或者掉主机引起的

处理流程

拿到环境第一时间是对环境标记noout,这个操作是为了防止集群的环境反复震荡,标记noout没有osd标记为out的情况下,只是pg状态变化,实际数据并不进行迁移

把能够启动的osd都启动起来,直到没有能启动的osd了,如果有能力处理的话,尽量把osd拉起来,如果是硬盘损坏掉了,确定无法修复了,那么就当这个osd无法救回来了,这个步骤里面是要尽最大努力把osd拉起来

@@ -248,7 +248,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

vdbench测试实时可视化显示

vdbench测试实时可视化显示

前言

前一段时间碰到一个系统,用rados bench 去跑都还比较正常,但是一跑数据库就非常慢,测试工具会抛出延时过大的提示,经过排查发现,云平台中有一台虚拟机还运行着备份数据库的服务,而这个备份软件是需要反复写一个标记文件的,因为这个标记文件只对应了一个对象,一个对象对应了一个pg,一个pg对应到固定的ssd上面,那个ssd的io几乎被这一个操作给打满了,然后全局的请求到了这个osd上面的时候,都会变得慢和卡顿

+}

vdbench测试实时可视化显示

vdbench测试实时可视化显示

前言

前一段时间碰到一个系统,用rados bench 去跑都还比较正常,但是一跑数据库就非常慢,测试工具会抛出延时过大的提示,经过排查发现,云平台中有一台虚拟机还运行着备份数据库的服务,而这个备份软件是需要反复写一个标记文件的,因为这个标记文件只对应了一个对象,一个对象对应了一个pg,一个pg对应到固定的ssd上面,那个ssd的io几乎被这一个操作给打满了,然后全局的请求到了这个osd上面的时候,都会变得慢和卡顿

出现这种情况,在业务层面可能需要做好分离,我们在面对这种情况的时候该如何提前就做好测试,对自己的性能的剩余性能做一个更好的评估,什么时候需要分离,什么时候不需要分离,这个都是需要用数据来说话的

性能测试的时候,经常面临的这些问题,你告诉我这个环境能跑多少iops,带宽能多大,我的数据库能不能跑,这个我也没法回答,一般来说我都是说需要根据环境进行测试,这个测试也只能根据自己设计的模型进行测试,而越接近用户使用场景的业务模型,就越能反应真实的业务能力,最好的测试就是直接拿对接的软件进行测试,接什么业务就用什么业务压

我们可以自己先问自己几个问题

@@ -279,7 +279,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph的pg的分布的快速查看

ceph的pg的分布的快速查看

前言

本篇的内容实际上是另外一篇文章的字篇章,在另外一篇文章当中,将会对crush的分布的调整的做一次总结,用比较简单的方式来展示各种crush的区别

+}

ceph的pg的分布的快速查看

ceph的pg的分布的快速查看

前言

本篇的内容实际上是另外一篇文章的字篇章,在另外一篇文章当中,将会对crush的分布的调整的做一次总结,用比较简单的方式来展示各种crush的区别

在做这个工作过程中,为了更好的能展示出效果,就有了下面的这个小工具的出现

工具来源

假如我现在想查看一个存储池内的pg的分布,那么我们需要下面的几个步骤

1、随机获取一个pg的id

1
[root@lab101 ~]# ceph pg dump|grep ^0
@@ -252,7 +252,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

慢话crush-各种crush组合

慢话crush-各种crush组合

前言

ceph已经是一个比较成熟的开源的分布式存储了,从功能角度上来说,目前的功能基本能够覆盖大部分场景,而社区的工作基本上是在加入企业级的功能和易用性还有性能等方面在发力在,不管你是新手还是老手,都绕不开的一个问题就是crush,而crush是决定着数据的分布的,很多人并不理解为什么会有这个crush,这个算法到底是怎么去计算的,本篇是从更偏向用户层来对这个分布做一个解释,以及我们该怎么去动这个crush,本篇的内容不需要有代码开发能力,只需要稍加思考,都可以理解,剩下的就是你自己的选择了

+}

慢话crush-各种crush组合

慢话crush-各种crush组合

前言

ceph已经是一个比较成熟的开源的分布式存储了,从功能角度上来说,目前的功能基本能够覆盖大部分场景,而社区的工作基本上是在加入企业级的功能和易用性还有性能等方面在发力在,不管你是新手还是老手,都绕不开的一个问题就是crush,而crush是决定着数据的分布的,很多人并不理解为什么会有这个crush,这个算法到底是怎么去计算的,本篇是从更偏向用户层来对这个分布做一个解释,以及我们该怎么去动这个crush,本篇的内容不需要有代码开发能力,只需要稍加思考,都可以理解,剩下的就是你自己的选择了

所有的存储都离不开分布的问题,存储是不是做副本,副本是如何分布的都是有自己的一套逻辑的

这里拿gluster做例子,gluster的数据分布就是通过子卷来控制的,副本几,那么数据的子卷就是由几个组成,一个文件是默认落到一个子卷的,如果没做分片的话,然后所有的盘符的子卷组成了一整个的卷,数据是散列到子卷里面去的,这种子卷的组合是固定的,组合是通过命令的先后顺序来控制的,也就是数据的分布组合是固定的

@@ -304,7 +304,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

bluestore对象挂载到系统进行提取

bluestore对象挂载到系统进行提取

前言

之前在filestore里面,pg是直接暴露到文件系统的,也就是可以直接进去查看或者拷贝,在极端情况下,多个osd无法启动,pg无法导出的时候,那么对pg内部对象的操作处理,是可以作为最后恢复数据的一种方式的

+}

bluestore对象挂载到系统进行提取

bluestore对象挂载到系统进行提取

前言

之前在filestore里面,pg是直接暴露到文件系统的,也就是可以直接进去查看或者拷贝,在极端情况下,多个osd无法启动,pg无法导出的时候,那么对pg内部对象的操作处理,是可以作为最后恢复数据的一种方式的

这个在bluestore里面就没那么直接了,之前也碰到过一次,osd无法启动,内部死循环,pg无法export,osd就僵死在那里了,实际上,bluestore也提供了接口把对象能够直接显示出来

具体操作实践

我们选择一个pg 1.7

1
2
3
[root@lab101 ceph]# ceph pg dump|grep 1.7
dumped all
1.7 128 0 0 0 0 524353536 1583 1583 active+clean 2019-07-26 10:05:17.715749 14'3583 14:3670 [1] 1 [1] 1 0'0 2019-07-26 10:01:20.337218 0'0 2019-07-26 10:01:20.337218
@@ -265,7 +265,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Linux操作系统选择

引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

iscsi客户端常用操作

iscsi客户端常用操作

说明

本篇主要记录iscsi的客户端的一些常用的一些操作

+}

iscsi客户端常用操作

iscsi客户端常用操作

说明

本篇主要记录iscsi的客户端的一些常用的一些操作

iscsi服务端常用操作

删除一个lun

1
tgtadm --lld iscsi --mode logicalunit --op delete  --tid 2  --lun 1
@@ -269,7 +269,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

CTDB使用radosobject作为lockfile

CTDB使用radosobject作为lockfile

前言

服务器的服务做HA有很多种方式,其中有一种就是是用CTDB,之前这个是独立的软件来做HA的,现在已经跟着SAMBA主线里面了,也就是跟着samba发行包一起发行

+}

CTDB使用radosobject作为lockfile

CTDB使用radosobject作为lockfile

前言

服务器的服务做HA有很多种方式,其中有一种就是是用CTDB,之前这个是独立的软件来做HA的,现在已经跟着SAMBA主线里面了,也就是跟着samba发行包一起发行

之前CTDB的模式是需要有一个共享文件系统,并且在这个共享文件系统里面所有的节点都去访问同一个文件,会有一个Master会获得这个文件的锁

在cephfs的使用场景中可以用cephfs的目录作为这个锁文件的路径,这个有个问题就是一旦有一个节点down掉的时候,可能客户端也会卡住目录,这个目录访问会被卡住,文件锁在其他机器无法获取到,需要等到这个锁超时以后,其它节点才能获得到锁,这个切换的周期就会长一点了

CTDB在最近的版本当中加入了cluster mutex helper using Ceph RADOS的支持,本篇将介绍这个方式锁文件配置方式

@@ -318,7 +318,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph luminous bluestore热插拔实现

ceph luminous bluestore热插拔实现

需求描述

在某些测试场景下面,需要满足能够拔盘以后在插入的时候能够自动上线磁盘,这个需求实际在生产中是不建议使用的,原因是插入的磁盘如果本身存在问题,那么拉起的操作可能会破坏了本身集群的稳定性,所以这个算是一个测试相关的功能,但是做这个功能的前提是我们不要去影响了正常的环境的逻辑

+}

ceph luminous bluestore热插拔实现

ceph luminous bluestore热插拔实现

需求描述

在某些测试场景下面,需要满足能够拔盘以后在插入的时候能够自动上线磁盘,这个需求实际在生产中是不建议使用的,原因是插入的磁盘如果本身存在问题,那么拉起的操作可能会破坏了本身集群的稳定性,所以这个算是一个测试相关的功能,但是做这个功能的前提是我们不要去影响了正常的环境的逻辑

类似的功能的开发都是应该去在外面做触发的也就是能够很方便的开启和关闭功能,整个功能也是集成到原来的环境当中的,原来怎么用,现在怎么用

实现的方式

本次设计的方式是udev去截取lvm的设备的加载,如果直接截获磁盘的加载,这个在ceph bluestore里面是有问题的,因为bluestore采用的是lvm设备,这个是需要设备插入以后,再用一系列的触发,再去做相关的启动的

我们的设计方式是在lvm加载的时候去截取判断,是不是我们需要启动的信息

@@ -260,7 +260,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

http服务器文件名大小写忽略

http服务器文件名大小写忽略

问题

文件从windows里面放到nginx里面去的时候,文件在windows下面是大小写忽略,也就是不论大小写都可以匹配的,而到linux下面的时候,因为linux是区分大小写的,也就是会出现无法忽略大小写的访问

+}

http服务器文件名大小写忽略

http服务器文件名大小写忽略

问题

文件从windows里面放到nginx里面去的时候,文件在windows下面是大小写忽略,也就是不论大小写都可以匹配的,而到linux下面的时候,因为linux是区分大小写的,也就是会出现无法忽略大小写的访问

调研

通过nginx里面目前还没有找到实现的方式,通过插件的方式也只是能把大小写全部转换成小写,这样要让存储的文件的名称全部改成小写,这个不太适合去改变用户的文件

而apache里面有模块直接来实现这个,那么考虑有适用场景的时候,可以使用nginx加apache或者直接采用apache的方式,这个最好可以灵活的选择,不限定最好

实现方式

修改配置文件/etc/httpd/conf/httpd.conf

@@ -252,7 +252,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph luminous版本限制osd的内存使用

ceph luminous版本限制osd的内存使用

引言

ceph自从到了L版本以后,L版本的启用,对性能本身有了极大的提高,一直对这个比较不放心的就是内存的占用,刚开始的时候记得大量dd就可以把内存搞崩掉,这个应该是内部的设计逻辑需要更多的内存的占用

+}

ceph luminous版本限制osd的内存使用

ceph luminous版本限制osd的内存使用

引言

ceph自从到了L版本以后,L版本的启用,对性能本身有了极大的提高,一直对这个比较不放心的就是内存的占用,刚开始的时候记得大量dd就可以把内存搞崩掉,这个应该是内部的设计逻辑需要更多的内存的占用

最近在做ARM版本的服务器的测试,机器为36盘位的机器,内存需要自然多,但是36盘位的机器,按之前想法是4G预留,那得需要144G内存了,这个还没有算迁移的时候的内存消耗,而很多时候,我们并不需要速度,只需要稳定就好

测试环境说明

测试环境比较简单,一台36盘位的arm机器,一台X86机器,通过万兆相连,设置集群为副本1,然后再X86上面通

限制前后对比

我们先按默认的来一组测试

@@ -265,7 +265,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

检查邮箱是否可登陆和发送邮件

检查邮箱是否可登陆和发送邮件

前言

邮箱系统在提供了用户名和密码以后可以发送邮件,而在发送之前我们有个需求是需要验证下这个密码是不是正确的,本篇的内容就是用python默认的库来检测邮箱是不是可以登录的

+}

检查邮箱是否可登陆和发送邮件

检查邮箱是否可登陆和发送邮件

前言

邮箱系统在提供了用户名和密码以后可以发送邮件,而在发送之前我们有个需求是需要验证下这个密码是不是正确的,本篇的内容就是用python默认的库来检测邮箱是不是可以登录的

验证

这个采用的是python默认带的库smtplib,是一个发送邮件的库,脚本文件如下

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
#! usr/bin/python
# -*- coding: UTF-8 -*-
import sys
import os

username=sys.argv[1]
password=sys.argv[2]
chinesname=sys.argv[3]

import smtplib
from email.mime.text import MIMEText
mail_host = 'smtp.qq.com'
mail_user = '%s@qq.com' % username

mail_pass = '%s' % password

#print mail_user
#print mail_pass
#os._exit(0)
sender = '199383004@qq.com'
receivers = ['199383004@qq.com']

message = MIMEText('python content','plain','utf-8')
message['From'] = sender
message['To'] = receivers[0]

try:

smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host,25)
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(
sender,receivers,message.as_string())

smtpObj.quit()
print('可以登录并发送测试邮件 %s' %(chinesname))
except smtplib.SMTPException as e:
#os._exit(0)
print('error',e)
@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

登陆系统的设计

登陆系统的设计

前言

在做一个管理平台的时候,面向客户的最开始的第一步就是管理平台的登陆系统,而由于面向的是企业用户,内网用户,因此,往往有很多我们预想不到的情况出现,而这些都会去影响着管理平台的体验,或者会完全中断掉你的操作

+}

登陆系统的设计

登陆系统的设计

前言

在做一个管理平台的时候,面向客户的最开始的第一步就是管理平台的登陆系统,而由于面向的是企业用户,内网用户,因此,往往有很多我们预想不到的情况出现,而这些都会去影响着管理平台的体验,或者会完全中断掉你的操作

这里在分析一些做的比较好的平台后,以及结合我们自身可能遇到的情况,对登陆系统进行一个新的设计,这个是通用的设计并不针对某款产品

范例

zabbix的登陆系统是做的比较好的,我们先来看看,然后再去给出我的设计

首页欢迎页面

@@ -293,7 +293,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

bluestore的osd自启动

bluestore的osd自启动

前言

自启动相关的文章很多,有分析的很详细的文章,这里就不做赘述,本篇讲述的是什么情况下用,怎么用的问题

+}

bluestore的osd自启动

bluestore的osd自启动

前言

自启动相关的文章很多,有分析的很详细的文章,这里就不做赘述,本篇讲述的是什么情况下用,怎么用的问题

使用场景

一台机器的系统盘坏了,需要重装系统,相关的一些信息没有了,但是上面的数据盘还是在的,所以需要保留

某个磁盘需要换台机器进行启动,但是那台机器上没有相关的信息

处理过程

自启动的相关处理

先扫描下lvm

@@ -258,7 +258,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph与flashcache的around模式结合启动问题

ceph与flashcache的around模式结合启动问题

问题

通过对我们的启动流程看了下,目前是穿到一个脚本里面的,然后这个脚本是用无限循环的方式去执行一些事情,这个地方不符合松耦合的设计,一个模块做一个事情,两个并不相关的功能不要嵌入另一个脚本,否则出现问题的时候,不好更改不好优化

+}

ceph与flashcache的around模式结合启动问题

ceph与flashcache的around模式结合启动问题

问题

通过对我们的启动流程看了下,目前是穿到一个脚本里面的,然后这个脚本是用无限循环的方式去执行一些事情,这个地方不符合松耦合的设计,一个模块做一个事情,两个并不相关的功能不要嵌入另一个脚本,否则出现问题的时候,不好更改不好优化

解决方式

首先分析ceph自身的启动方式

ceph的启动方式是通过去enable的一个service的方式这个enable会传入参数,osd的id和osd的fsid,这两个都是集群的定值,也就是每个osd的这块都是各自独立的,所以就是一个总控脚本去通过调用参数的方式进行服务的启动和挂载

那么最佳的处理方式应该也是近似处理,我们做结合启动的时候,先禁用相关的服务,这个后面脚本里面内部会处理,我们先写出来怎么禁用ceph的挂载和启动

@@ -273,7 +273,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何通过iptables代理访问内网

如何通过iptables代理访问内网

场景

A机器能够联通内网机器,B机器能够联通A机器,但是访问不到内网机器,场景是希望通过A机器能够转发直接联通局域网内的其它机器

+}

如何通过iptables代理访问内网

如何通过iptables代理访问内网

场景

A机器能够联通内网机器,B机器能够联通A机器,但是访问不到内网机器,场景是希望通过A机器能够转发直接联通局域网内的其它机器

机器IP

内网为172.0.0.x/24

A机器为172.0.0.10/24

A机器为192.168.1.10/24

@@ -253,7 +253,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

高性能arm运行ceph存储基准测试

高性能arm运行ceph存储基准测试

关于arm

之前wdlab对外发布过一次约500个节点的arm的ceph集群,那个采用的是微集群的结构,使用的是双核的cortex-a9 ARM处理器,运行速度为1.3 GHz,内存为1 GB,直接焊接到驱动器的PCB上,选项包括2 GB内存和ECC保护

+}

高性能arm运行ceph存储基准测试

高性能arm运行ceph存储基准测试

关于arm

之前wdlab对外发布过一次约500个节点的arm的ceph集群,那个采用的是微集群的结构,使用的是双核的cortex-a9 ARM处理器,运行速度为1.3 GHz,内存为1 GB,直接焊接到驱动器的PCB上,选项包括2 GB内存和ECC保护

这个在国内也有类似的实现,深圳瑞驰商用Arm存储NxCells

small-arm

这个采用的是微集群的架构,能够比较好的应对一些冷存场景,但是今天要说的不是这种架构,而是一个比较新的平台,采用的是高性能的arm的架构,也就是类似X86的大主板结构

@@ -603,7 +603,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph osd tree的可视化

ceph osd tree的可视化

前言

很久没有处理很大的集群,在接触一个新集群的时候,如果集群足够大,需要比较长的时间才能去理解这个集群的结构,而直接去看ceph osd tree的结果,当然是可以的,这里是把osd tree的结构进行了一个结构化输出,也可以理解为画出一个简单的结构图,比较适合给其它人讲解你对crush做了哪些改变,这个如果指着文字来讲估计很多人会听的云里雾里,如果有比较方便的方式出图就比较好了

+}

ceph osd tree的可视化

ceph osd tree的可视化

前言

很久没有处理很大的集群,在接触一个新集群的时候,如果集群足够大,需要比较长的时间才能去理解这个集群的结构,而直接去看ceph osd tree的结果,当然是可以的,这里是把osd tree的结构进行了一个结构化输出,也可以理解为画出一个简单的结构图,比较适合给其它人讲解你对crush做了哪些改变,这个如果指着文字来讲估计很多人会听的云里雾里,如果有比较方便的方式出图就比较好了

为此写了一个小工具自己用,正好也可以看看我们对结构做简单调整后的效果

创建一个模拟集群

环境就一台机器,不需要用到磁盘,这里是模拟结构
创建一个大集群40台机器

1
2
seq 1 40 |xargs -i ceph  osd crush add-bucket lab{} host
seq 1 40|xargs -i ceph osd crush move lab{} root=default
@@ -269,7 +269,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

计算机结构

计算机结构

计算机结构

+}

计算机结构

计算机结构

计算机结构

从大的结构来说,计算机方面的东西主要分为两个大的部分,一个为硬件的部分,也就是组成计算机的一些硬件的

一个是软件的部分,就是我们基于硬件之上的做的一些东西,通常来说,硬件的东西比较固定,而软件的东西就比较多了

计算机硬件部分

@@ -267,7 +267,7 @@

更新历史

input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

brctl 增加桥接网卡

brctl 增加桥接网卡

前言

之前有一篇介绍配置桥接网卡的,这个桥接网卡一般是手动做虚拟化的时候会用到,通过修改网卡的配置文件的方式会改变环境的原有的配置,而很多情况,我只是简单的用一下,并且尽量不要把网络搞断了,万一有问题,远程把机器重启一下也就恢复了,不至于反复去定位哪里改错了,当然如果是能够直连的修改的时候,还是建议通过配置文件的方式去修改

+}

brctl 增加桥接网卡

brctl 增加桥接网卡

前言

之前有一篇介绍配置桥接网卡的,这个桥接网卡一般是手动做虚拟化的时候会用到,通过修改网卡的配置文件的方式会改变环境的原有的配置,而很多情况,我只是简单的用一下,并且尽量不要把网络搞断了,万一有问题,远程把机器重启一下也就恢复了,不至于反复去定位哪里改错了,当然如果是能够直连的修改的时候,还是建议通过配置文件的方式去修改

安装必要的软件包

1
yum install bridge-utils

选择想要修改的网卡

@@ -256,7 +256,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

python-redmine获取redmine平台的信息

python-redmine获取redmine平台的信息

前言

最近做redmine的bug平台的分析,统计一些需要用到的数据,这里把相关调用的地方记录下来以备后用

+}

python-redmine获取redmine平台的信息

python-redmine获取redmine平台的信息

前言

最近做redmine的bug平台的分析,统计一些需要用到的数据,这里把相关调用的地方记录下来以备后用

相关的获取接口

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
#! /usr/bin/python
# -*- coding:UTF-8 -*-


from redminelib import Redmine
redmine = Redmine('redmin的地址',username='用户名',password='密码',requests={'timeout': 5 })
issues = redmine.issue.filter(project_id='项目id',status_id='open',offset=0,limit=100)

# 遍历bug单
for issue in issues:
#获取当前BUG编号
print issue.id
#获取bug单标题
print issue.subject
#获取bug单的提单人
print issue.author
#获取issue创建时间
print issue.created_on
#获取更新时间
print issue.updated_on
#遍历追加评论(BUG流转过程)
myissue=redmine.issue.get(issue.id, include=['children', 'journals', 'watchers'])
for journal in myissue.journals:
#获取评论人
print journal.user.name
#获取评论时间
print journal.created_on

因为默认的时间是UTC时间,我们转换成本地时间

1
2
3
4
5
6
7
def utc2local(utc_dtm):
local_tm = datetime.fromtimestamp( 0 )
utc_tm = datetime.utcfromtimestamp( 0 )
offset = local_tm - utc_tm
return utc_dtm + offset

local_issue_tm = utc2local(issue.created_on)
@@ -243,7 +243,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

python脚本打包成rpm软件包

python脚本打包成rpm软件包

前言

软件最终都会有交付的形式,有的是用tar包,有个是以目录,有的是封成一个文件包,从大多数使用场景来说,直接打包成软件包的方式是最简单,也是最不容易出错的,路径可以在包里面写死了

+}

python脚本打包成rpm软件包

python脚本打包成rpm软件包

前言

软件最终都会有交付的形式,有的是用tar包,有个是以目录,有的是封成一个文件包,从大多数使用场景来说,直接打包成软件包的方式是最简单,也是最不容易出错的,路径可以在包里面写死了

实践

关于打包的资料网上很多,而封包的方式也很多有spec文件方式,有fpm打包方式,本篇记录的是通过setup.py的方式打包的,因为最近出了小工具,所以进行了相关的尝试,这里记录一下

首先创建一个setup.py文件,写上一些基础内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@test redmine]# cat setup.py 
# coding:utf-8
#from distutils.core import setup
from setuptools import setup, find_packages

setup(
name='issue-check',
version='2020-0403-1419',
description='This redmine issue-check',
author='zphj1987',
author_email='zphj1987@gmail.com',
license='MIT',
url='https://github.com/zphj1987/issue-check.git',
py_modules=['issue-check','issue-check-pretty'],
data_files=[('/opt/issue-check/',['issue.conf.sample']),('/opt/issue-check/',['README.md'])]
)
@@ -247,7 +247,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph的pg平衡插件balancer

ceph的pg平衡插件balancer

前言

ceph比较老的版本使用的reweight或者osd weight来调整平衡的,本篇介绍的是ceph新的自带的插件balancer的使用,官网有比较详细的操作手册可以查询

+}

ceph的pg平衡插件balancer

ceph的pg平衡插件balancer

前言

ceph比较老的版本使用的reweight或者osd weight来调整平衡的,本篇介绍的是ceph新的自带的插件balancer的使用,官网有比较详细的操作手册可以查询

使用方法

查询插件的开启情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@node1 ceph]# ceph mgr module ls
{
"enabled_modules": [
"balancer",
"restful",
"status"
],
"disabled_modules": [
"dashboard",
"influx",
"localpool",
"prometheus",
"selftest",
"telemetry",
"zabbix"
]
}

默认balancer就是enable的

@@ -262,7 +262,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

arm64大服务器安装ubuntu18看不到安装界面

arm64大服务器安装ubuntu18看不到安装界面

前言

最近在使用arm的大服务器需要用到ubuntu相关的一些东西,在操作系统安装过程中遇到了一些问题

+}

arm64大服务器安装ubuntu18看不到安装界面

arm64大服务器安装ubuntu18看不到安装界面

前言

最近在使用arm的大服务器需要用到ubuntu相关的一些东西,在操作系统安装过程中遇到了一些问题

记录

华为鲲鹏服务器

这个默认安装centos的都很顺利,安装ubuntu18最新的,impi就花屏了,然后找各种地方都没找到原因,看到官网的,用18.04.01写的文档,然后试了下18.04.01可以,其它版本都花屏,直接使用即可

安培服务器

同样的基本找不到相关的文档,网上的都是禁用的一些参数什么的,实际上操作如下:

在grub编辑界面,在—后面增加

@@ -225,7 +225,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

公网临时传输大文件

公网临时传输大文件

前言

我们经常遇到的一个场景是需要把一个大文件通过互联网传递到另外一个地方,类似日志,或者大的安装包,有的时候是传输给自己,有的时候传输给别人

+}

公网临时传输大文件

公网临时传输大文件

前言

我们经常遇到的一个场景是需要把一个大文件通过互联网传递到另外一个地方,类似日志,或者大的安装包,有的时候是传输给自己,有的时候传输给别人

传输方式

百度盘我们都知道速度限制到怀疑人生,没会员的时候基本就是浪费时间,这种基本就不考虑做传输工具,备份下还可以,这里介绍的是几款比较方便的传输方式,这几款都是类似的处理,上传到网站,网站生成链接,拿到链接直接下载

一个开源的传输平台,服务器应该在国外,速度比较慢

@@ -237,7 +237,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

希捷powerchoice磁盘休眠功能arm打包

希捷powerchoice磁盘休眠功能arm打包

官方只提供了x86下面的包,没有提供arm下面的包,而我们的arm机器是32位的,需要编译一个支持armhf的二进制文件,这个文件只需要一个即可,但是编译是整套编译的,并且我们需要选定指定的版本,关闭nvme的支持(arm的缺库,也用不上),不带debug信息的

+}

希捷powerchoice磁盘休眠功能arm打包

希捷powerchoice磁盘休眠功能arm打包

官方只提供了x86下面的包,没有提供arm下面的包,而我们的arm机器是32位的,需要编译一个支持armhf的二进制文件,这个文件只需要一个即可,但是编译是整套编译的,并且我们需要选定指定的版本,关闭nvme的支持(arm的缺库,也用不上),不带debug信息的

准备编译环境

编译环境选择的是ubuntu 18.04 (X86),在centos下面编译可能出现arm库不对的情况,通常情况下,ubuntu的跨平台编译要好一些,并且我们的arm也是ubuntu的

安装编译软件

1
apt-get install gcc-arm-linux-gnueabihf
@@ -275,7 +275,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

希捷powerchoice磁盘休眠功能配置方法

希捷powerchoice磁盘休眠功能配置方法

本篇关于希捷磁盘休眠的配置方法

+}

希捷powerchoice磁盘休眠功能配置方法

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

自动化翻译ceph文档

自动化翻译ceph文档

需求很简单,翻译官网的操作文档

+}

自动化翻译ceph文档

自动化翻译ceph文档

需求很简单,翻译官网的操作文档

下载ceph代码luminous版本

这个只用来编译doc的,我们只需要最新的这个分支即可,拉最少的代码

1
2
3
git clone -b v12.2.13 --single-branch --depth 1  git://github.com/ceph/ceph.git ceph12
cd ceph12
git checkout -b v12.2.13
@@ -334,7 +334,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ipmi常用的命令行命令

ipmi常用的命令行命令

前言

记录一些常用的命令行操作

+}

ipmi常用的命令行命令

ipmi常用的命令行命令

前言

记录一些常用的命令行操作

命令

查询机器的电源状态

1
ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power status

硬重启机器

1
ipmitool -I lanplus -U admin -P admin -H 172.16.21.215 power reset
@@ -243,7 +243,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rgw配置删除快速回收对象

rgw配置删除快速回收对象

前言

做rgw测试的时候,经常会有删除文件的操作,而用默认的参数的时候,rgw是通过gc回收机制来处理删除对象的,这个对于生产环境是有好处的,把删除对业务系统的压力分摊到不同的时间点,但是测试的时候,可能需要反复的写入删除,而这种情况下,可能希望能够迅速的回收对象,那么就需要修改几个参数了

+}

rgw配置删除快速回收对象

rgw配置删除快速回收对象

前言

做rgw测试的时候,经常会有删除文件的操作,而用默认的参数的时候,rgw是通过gc回收机制来处理删除对象的,这个对于生产环境是有好处的,把删除对业务系统的压力分摊到不同的时间点,但是测试的时候,可能需要反复的写入删除,而这种情况下,可能希望能够迅速的回收对象,那么就需要修改几个参数了

参数

主要调整下面的几个参数

1
2
3
rgw_gc_obj_min_wait = 30
rgw_gc_processor_max_time = 180
rgw_gc_processor_period = 2
@@ -250,7 +250,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph打印出每秒的IO和pg状态

ceph打印出每秒的IO和pg状态

前言

在ceph 的jewel版本以及之前的版本,通过ceph -w命令是可以拿到每秒钟ceph集群的io状态的,现在的版本是ceph -s一秒秒手动去刷,ceph -w也不监控io的状态了,有的时候需要看io是否平滑,或者恢复还剩多少,能够比较直观的去看

+}

ceph打印出每秒的IO和pg状态

ceph打印出每秒的IO和pg状态

前言

在ceph 的jewel版本以及之前的版本,通过ceph -w命令是可以拿到每秒钟ceph集群的io状态的,现在的版本是ceph -s一秒秒手动去刷,ceph -w也不监控io的状态了,有的时候需要看io是否平滑,或者恢复还剩多少,能够比较直观的去看

实际上通过简单的脚本就可以实现之前差不多的效果

每秒查看状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@lab201 ~]# sh ceph-s.sh 
Wed Sep 9 10:44:57 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 93.3KiB/s rd, 0B/s wr, 155op/s
Wed Sep 9 10:44:58 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 91.7KiB/s rd, 0B/s wr, 152op/s
Wed Sep 9 10:45:00 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 94.6KiB/s rd, 0B/s wr, 157op/s
Wed Sep 9 10:45:01 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 94.6KiB/s rd, 0B/s wr, 157op/s
Wed Sep 9 10:45:02 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 88.3KiB/s rd, 0B/s wr, 147op/s
Wed Sep 9 10:45:03 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 88.3KiB/s rd, 0B/s wr, 147op/s
Wed Sep 9 10:45:04 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 69.6KiB/s rd, 0B/s wr, 115op/s
Wed Sep 9 10:45:06 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.6KiB/s rd, 0B/s wr, 154op/s
Wed Sep 9 10:45:07 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.6KiB/s rd, 0B/s wr, 154op/s
Wed Sep 9 10:45:08 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 90.0KiB/s rd, 0B/s wr, 150op/s
Wed Sep 9 10:45:09 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 90.0KiB/s rd, 0B/s wr, 150op/s
Wed Sep 9 10:45:10 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 90.1KiB/s rd, 0B/s wr, 150op/s
Wed Sep 9 10:45:12 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.8KiB/s rd, 0B/s wr, 154op/s
Wed Sep 9 10:45:13 CST 2020 192 pgs: 192 active+clean; 1.30GiB data, 13.3GiB used, 287GiB / 300GiB avail; 92.8KiB/s rd, 0B/s wr, 154op/s
@@ -241,7 +241,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd的删除回收站功能

rbd的删除回收站功能

##前言
rbd 提供了一个回收站功能,这个是属于防呆设计,防止误操作删除rbd引起无法恢复的情况,rbd正常情况下的删除是马上会在后台回收空间的,这个也听说过有人做过误删除的操作,那么这个设计就是从操作逻辑上来尽量避免这个失误的

+}

rbd的删除回收站功能

rbd的删除回收站功能

##前言
rbd 提供了一个回收站功能,这个是属于防呆设计,防止误操作删除rbd引起无法恢复的情况,rbd正常情况下的删除是马上会在后台回收空间的,这个也听说过有人做过误删除的操作,那么这个设计就是从操作逻辑上来尽量避免这个失误的

相关操作

命令比较简单就几条命令,luminous版本就支持了,提供几个命令

  • trash list (trash ls) 列出回收站的rbd
  • @@ -252,7 +252,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

关于vm.min_free_kbytes的合理设置推测

关于vm.min_free_kbytes的合理设置推测

前言

之前系统出现过几次hung住的情况,没有oom,也没有其它内存相关的信息,而linux设计就是去尽量吃满内存,然后再回收清理的机制

+}

关于vm.min_free_kbytes的合理设置推测

关于vm.min_free_kbytes的合理设置推测

前言

之前系统出现过几次hung住的情况,没有oom,也没有其它内存相关的信息,而linux设计就是去尽量吃满内存,然后再回收清理的机制

探讨

目前这个参数还没有找到合适的处理这个预留的参数,一般也没有去调整的
系统是默认根据物理内存进行计算得到一个数值得

1
2
sysctl -a|grep min_free_kbytes
vm.min_free_kbytes = 45056

查看内核参数,这个小环境是保留的45M

@@ -273,7 +273,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

配置内网访问的TV

配置内网访问的TV

前言

通过内网模式访问tv远程机器

+}

配置内网访问的TV

配置内网访问的TV

前言

通过内网模式访问tv远程机器

方法

云主机配置

一台云主机,云主机申请两个公网IP

云主机启动两个frps进程绑定到两个内网的ip

客户端配置

远程一台linux跳板机运行frpc,启动两个进程,分别访问不同的公网IP

@@ -245,7 +245,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rgw前端替换civetweb为beast

rgw前端替换civetweb为beast

前言

ceph的rgw现在提供了两种前端, civetweb和beast

+}

rgw前端替换civetweb为beast

rgw前端替换civetweb为beast

前言

ceph的rgw现在提供了两种前端, civetweb和beast

配置

修改配置文件

1
rgw_frontends = civetweb port=7481

@@ -269,7 +269,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rgw的rgw_thread_pool_size配置调整

rgw的rgw_thread_pool_size配置调整

前言

在比对rgw的不同前端的区别的时候,官方说civetweb是通过线程池来控制连接的,beast是后面加入了流控相关的,这块一直也没有调整过相关的参数,然后通过ab压测了一下,还是有很明显的区别的

+}

rgw的rgw_thread_pool_size配置调整

rgw的rgw_thread_pool_size配置调整

前言

在比对rgw的不同前端的区别的时候,官方说civetweb是通过线程池来控制连接的,beast是后面加入了流控相关的,这块一直也没有调整过相关的参数,然后通过ab压测了一下,还是有很明显的区别的

测试很简单,虚拟机下面就可以完成

测试过程

rgw_thread_pool_size = 512
默认参数为这个

1
2
3
4
5
6
[root@lab201 ~]# ps -ef|grep radosgw
root 242156 239377 0 11:42 pts/1 00:00:02 tailf /var/log/ceph/ceph-client.radosgw1.log
ceph 247068 1 3 11:53 ? 00:00:00 /usr/bin/radosgw -f --cluster ceph --name client.radosgw1 --setuser ceph --setgroup ceph
root 247654 234613 0 11:53 pts/0 00:00:00 grep --color=auto radosgw
[root@lab201 ~]# cat /proc/247068/status|grep Thread
Threads: 579
@@ -256,7 +256,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph各个版本之间参数变化分析

ceph各个版本之间参数变化分析

前言

本篇主要是分析ceph的版本之间参数的变化,参数变化意味着功能的变化,通过参数来分析增加,删除,修改了哪些功能,以及版本之间的变化,本篇主要通过导出参数,然后通过脚本去比对不同的版本的参数变化

+}

ceph各个版本之间参数变化分析

ceph各个版本之间参数变化分析

前言

本篇主要是分析ceph的版本之间参数的变化,参数变化意味着功能的变化,通过参数来分析增加,删除,修改了哪些功能,以及版本之间的变化,本篇主要通过导出参数,然后通过脚本去比对不同的版本的参数变化

14版本之前安装一个ceph-common,然后touch一个空配置文件就可以通过ceph –show-config拿到版本的配置文件
14版本之后需要安装好mon,并且这个命令取消了,通过下面的命令获取

1
ceph config show-with-defaults mon.lab204|awk '{print $1,"=",$2}'
@@ -364,7 +364,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph通过tgt配置多路径的数据一致性问题

ceph通过tgt配置多路径的数据一致性问题

前言

使用librbd通过tgt出iscsi,多路径数据是一致的,由于环境的原因,切换为kernel rbd 出iscsi,然后通过不同的iscsi路径写入后,发现在rbd端就出现了数据没有刷新的问题

+}

ceph通过tgt配置多路径的数据一致性问题

ceph通过tgt配置多路径的数据一致性问题

前言

使用librbd通过tgt出iscsi,多路径数据是一致的,由于环境的原因,切换为kernel rbd 出iscsi,然后通过不同的iscsi路径写入后,发现在rbd端就出现了数据没有刷新的问题

问题分析

这里有个类似的问题

1
https://github.com/ceph/ceph-csi/issues/461

这个是通过把rbd map到不同的节点,通过dd写入的时候发现数据不同步,需要通过增加参数direct才能保证数据一致,我们通过官网的描述和这个issue里面的回答可以看到

@@ -240,7 +240,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

iscsi一致性的测试验证方法

iscsi一致性的测试验证方法

前言

如果使用场景是多路径iscsi,那么数据一致性的就需要去验证一致性,就需要一个比较通用的测试方法,最近在处理这块,记录下简单的测试方法

+}

iscsi一致性的测试验证方法

iscsi一致性的测试验证方法

前言

如果使用场景是多路径iscsi,那么数据一致性的就需要去验证一致性,就需要一个比较通用的测试方法,最近在处理这块,记录下简单的测试方法

测试方法

写入数据

1
2
3
dd if=/dev/urandom   of=/dev/sdb bs=512 count=8000 oflag=direct
或者
dd if=/dev/urandom of=/dev/sdb bs=512 count=8000

通常来说需要用下面的那种,上面的带参数的是模拟的direct的请求,如果在当前设备之上的软件会处理好这个,这个地方就不要用direct的请求的,用direct是模拟软件的写,不带direct模拟正常读写

验证数据

1
sha512sum /dev/sdb1
@@ -237,7 +237,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

测试cephfs写入海量文件

测试cephfs写入海量文件

前言

测试cephfs的写入大量文件,通过mdtest写入1K大小的文件1亿个,每个目录里面文件为1万,目录总数为1万,总文件数目就为1亿了

+}

测试cephfs写入海量文件

测试cephfs写入海量文件

前言

测试cephfs的写入大量文件,通过mdtest写入1K大小的文件1亿个,每个目录里面文件为1万,目录总数为1万,总文件数目就为1亿了

写入的命令

1
mdtest -C -F -L -z 4 -b 10 -I 10000 -d /mnt/1yi/ -w 1024
  • -C 只创建
  • @@ -242,7 +242,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

通过tuned-adm调整服务器的各种参数

通过tuned-adm调整服务器的各种参数

前言

centos7 服务器上面支持通过tuned进行统一的系统参数调整,以前我们可能会通过修改内核配置文件修改内核参数,通过echo去调整磁盘预读,等等很多调整会分散在各处
而系统实际上是可以通过一个地方进行固化的,这个就是tuned-adm做的事情,本篇是一个集合贴,会持续补充各种调整的方法

+}

通过tuned-adm调整服务器的各种参数

通过tuned-adm调整服务器的各种参数

前言

centos7 服务器上面支持通过tuned进行统一的系统参数调整,以前我们可能会通过修改内核配置文件修改内核参数,通过echo去调整磁盘预读,等等很多调整会分散在各处
而系统实际上是可以通过一个地方进行固化的,这个就是tuned-adm做的事情,本篇是一个集合贴,会持续补充各种调整的方法

操作

调整配置

生效配置

整体调整

系统提供了很多模式的调整参数,默认的是最平衡的,如果不是很清楚调整了什么,建议不要整体模式应用,可能引起性能巨大的衰减或者抖动,需要根据实际情况进行调整

总结

本篇是对服务器进行一个调整,如果使用过不同的os的会清楚,同样的硬件在不同的环境下的性能会有所不通,有的是软件版本的问题,有的是内核版本的问题,有的是参数的问题,本篇是从参数角度来进行一些调整

头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

centos7单独编译nbd内核模块

centos7单独编译nbd内核模块

前言

centos7默认内核没有带nbd的模块,可以通过下载跟当前版本匹配的内核源码,编译源码指定的模块,然后加载到系统

+}

centos7单独编译nbd内核模块

centos7单独编译nbd内核模块

前言

centos7默认内核没有带nbd的模块,可以通过下载跟当前版本匹配的内核源码,编译源码指定的模块,然后加载到系统

步骤

判断版本

1
2
3
4
5
6
7
8
[root@lab201 linux-3.10.0-957.el7]# uname -a
Linux lab201 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@lab201 linux-3.10.0-957.el7]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core

没更新过内核的话,就是centos7.6的3.10.0-957版本的内核

获取源码

1
wget https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.6.1810/os/Source/SPackages/kernel-3.10.0-957.el7.src.rpm
@@ -242,7 +242,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

重构克隆rbd的数据

重构克隆rbd的数据

前言

之前写过一篇重构rbd的元数据的文章,讲的是如果rbd的元数据丢失了,数据还在的时候怎么恢复相关的元数据,但是实际使用的场景是,集群可能崩溃了,数据还在,osd无法拉起来,数据又很重要,需要把数据拼接回来,这个也是最底层的一种数据还原方式了

+}

重构克隆rbd的数据

重构克隆rbd的数据

前言

之前写过一篇重构rbd的元数据的文章,讲的是如果rbd的元数据丢失了,数据还在的时候怎么恢复相关的元数据,但是实际使用的场景是,集群可能崩溃了,数据还在,osd无法拉起来,数据又很重要,需要把数据拼接回来,这个也是最底层的一种数据还原方式了

网上有非快照的rbd的拼接的文章,对于快照使用方式的拼接这个没有太多信息,而实际上很多使用场景就是克隆了一个原始系统后,再使用的,本篇就是把还原需要的细节都写出来了

重构的步骤

获取基本的信息

  • 1、找到rbd_directory,通过这个找到整个环境里面的rbd的名称和prefix的对应关系
  • @@ -290,7 +290,7 @@

    总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph bluestore的db分区应该预留多大的空间

ceph bluestore的db分区应该预留多大的空间

前言

关于bluestore的db应该预留多少空间,网上有很多资料
如果采用默认的

+}

ceph bluestore的db分区应该预留多大的空间

ceph bluestore的db分区应该预留多大的空间

前言

关于bluestore的db应该预留多少空间,网上有很多资料
如果采用默认的

write_buffer_size=268435456

@@ -263,7 +263,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph扩展bluestore的db分区

ceph扩展bluestore的db分区

前言

在ceph 14版本里面才加入了bluefs-bdev-migrate,分区迁移相关的命令,那么在12版本里面其实也是可以扩展分区的
测试的版本

+}

ceph扩展bluestore的db分区

ceph扩展bluestore的db分区

前言

在ceph 14版本里面才加入了bluefs-bdev-migrate,分区迁移相关的命令,那么在12版本里面其实也是可以扩展分区的
测试的版本

1
2
[root@lab102 ceph-0]# ceph -v
ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable)

操作方法

如果db分区之前有做独立独立分区,但是发现db的大小设置小了,想把这个db调大,或者是从ssd设备迁移到nvme的分区,那么可以通过dd命令来实现的

@@ -238,7 +238,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph的df容量显示计算

ceph的df容量显示计算

显示数据

1
2
3
4
5
6
7
8
9
[root@lab201 ~]# ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
1092T 404T 688T 63.01%
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 17483G 15.88 92633G 4616231
data 1 212T 70.09 92633G 246574395
metadata 2 88677K 0 1400G 407249
+}

ceph的df容量显示计算

ceph的df容量显示计算

显示数据

1
2
3
4
5
6
7
8
9
[root@lab201 ~]# ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
1092T 404T 688T 63.01%
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 17483G 15.88 92633G 4616231
data 1 212T 70.09 92633G 246574395
metadata 2 88677K 0 1400G 407249

总used的63% ,data的总used为70%

先说下容量的计算规则

@@ -235,7 +235,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rgw使用boto3生成可以访问的预签名url

rgw使用boto3生成可以访问的预签名url

##前言
如果想访问一个ceph里面的s3地址,但是又不想直接提供secrect key的时候,可以通过预签名的方式生成url

+}

rgw使用boto3生成可以访问的预签名url

rgw使用boto3生成可以访问的预签名url

##前言
如果想访问一个ceph里面的s3地址,但是又不想直接提供secrect key的时候,可以通过预签名的方式生成url

生成方法

下载boto3

脚本如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cat s3.py

import boto3
from botocore.client import Config

s3_host="http://192.168.0.201:7481"
# Get the service client with sigv4 configured
s3 = boto3.client('s3', aws_access_key_id = "test",aws_secret_access_key = "test",endpoint_url = s3_host, config=Config(signature_version='s3v4'))

# Generate the URL to get 'key-name' from 'bucket-name'
# URL expires in 604800 seconds (seven days)
url = s3.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': 'movie',
'Key': '20200919211055.ps'
},
ExpiresIn=604800
)

print(url)
@@ -231,7 +231,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

内核补丁热更新ceph内核模块

内核补丁热更新ceph内核模块

前言

内核模块的更新一般需要卸载模块再加载,但是很多时候使用场景决定了无法做卸载的操作,而linux支持了热更新内核模块的功能,这个已经支持了有一段时间了,一直没有拿ceph的相关模块进行验证

+}

内核补丁热更新ceph内核模块

内核补丁热更新ceph内核模块

前言

内核模块的更新一般需要卸载模块再加载,但是很多时候使用场景决定了无法做卸载的操作,而linux支持了热更新内核模块的功能,这个已经支持了有一段时间了,一直没有拿ceph的相关模块进行验证

注意模块的某些函数是不支持的,init的部分是不支持的,补丁弄完验证一下就可以知道支不支持,不支持的部分会提示

准备工作

先检查当前的版本支持不

1
2
3
4
5
[root@lab101 kpatch]# cat /boot/config-3.10.0-1062.el7.x86_64 |grep PATCH
CONFIG_HAVE_LIVEPATCH=y
CONFIG_LIVEPATCH=y
CONFIG_DVB_BUDGET_PATCH=m
CONFIG_SND_HDA_PATCH_LOADER=y
@@ -278,7 +278,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

简单的spec打包rpm包的方法

简单的spec打包rpm包的方法

前言

有的时候为了提供一个完整的包,需要把一些零散的文件或者脚本汇总在一起提供,rpm包就是一个很好的方法,这里我们不需要复杂的写法,就纯粹打包的,复杂的可以参考内核或者其它软件包的打包方法

+}

简单的spec打包rpm包的方法

简单的spec打包rpm包的方法

前言

有的时候为了提供一个完整的包,需要把一些零散的文件或者脚本汇总在一起提供,rpm包就是一个很好的方法,这里我们不需要复杂的写法,就纯粹打包的,复杂的可以参考内核或者其它软件包的打包方法

spec文件信息

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
Name:   cephuse
Version: 1.0
Release: 1%{?dist}
Summary: monitor ceph use space

Group: Development/Tools
License: GPL
URL: http://www.zphj1987.com

BuildRequires: python
Source: cephuse-1.0.tar.gz

%description
use to monitor ceph

%prep
%setup -q


%install
install -D -m 644 cephuse.service %{buildroot}/usr/lib/systemd/system/cephuse.service
cp -ra ./output %{buildroot}/

%files
/usr/lib/systemd/system/cephuse.service
/output
%doc

%changelog
* Tue Oct 30 2020 zphj1987 <zphj1987@gmail.com> - v1.0
- 新增版本

打包好tar.gz包,放到源码目录,然后执行rpmbuild -bb cephuse.spec就可以打包了

@@ -223,7 +223,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

预留linux系统随机端口-内核参数控制

预留linux系统随机端口-内核参数控制

前言

随机端口可能会占用后面准备使用的端口,然后在后面进程启动的时候,无法绑定端口引起服务异常

+}

预留linux系统随机端口-内核参数控制

预留linux系统随机端口-内核参数控制

前言

随机端口可能会占用后面准备使用的端口,然后在后面进程启动的时候,无法绑定端口引起服务异常

处理方法

通过内核参数控制,在/etc/sysctl.conf添加

1
net.ipv4.ip_local_reserved_ports=8000,8080

这个容易被冲掉,可以修改下默认的内核参数,通过tune实现

@@ -230,7 +230,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

最简单的临时web服务器

最简单的临时web服务器

前言

有的时候需要做个单页的网页显示,这个直接用python启动即可,但是存在一个问题,停止进程以后,如果网页正在被访问,socket会不释放,然后再启动就会提示端口占用,实际上是没有端口占用的

+}

最简单的临时web服务器

最简单的临时web服务器

前言

有的时候需要做个单页的网页显示,这个直接用python启动即可,但是存在一个问题,停止进程以后,如果网页正在被访问,socket会不释放,然后再启动就会提示端口占用,实际上是没有端口占用的

这个增加一个配置项就行

相关代码

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
#!/usr/bin/python3

from __future__ import print_function

import SimpleHTTPServer
import SocketServer
import os
import sys
import signal

def quit(signal_num,frame):
print("you stop the threading")
sys.exit()


path = os.path.dirname(sys.argv[0])

os.chdir('/home/cephuse/output/')

class ReusingTCPServer(SimpleHTTPServer.SimpleHTTPRequestHandler):
allow_reuse_address = True

def send_head(self):
# horrible kludge because SimpleHTTPServer is buggy wrt
# slash-redirecting of requests with query arguments, and will
# redirect to /foo?q=bar/ -- wrong slash placement
self.path = self.path.split('?', 1)[0]
return SimpleHTTPServer.SimpleHTTPRequestHandler.send_head(self)


SocketServer.TCPServer.allow_reuse_address = True
httpd = SocketServer.TCPServer(
("", 9090),
ReusingTCPServer,
)
try:
print("Serving doc at port: http://localhost:9090")
httpd.serve_forever()
except KeyboardInterrupt:
pass
@@ -226,7 +226,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rbd锁引起kvm虚拟机无法启动的故障

rbd锁引起kvm虚拟机无法启动的故障

前言

环境因为一些问题(网络,或者磁盘,或者其它各种异常),引起了集群的状态的一些变化,变化之后,集群的某些虚拟机正常某些虚拟机出现异常,异常现象就是无法启动
特别是win server2008 ,会一直卡在滚动条这里

+}

rbd锁引起kvm虚拟机无法启动的故障

rbd锁引起kvm虚拟机无法启动的故障

前言

环境因为一些问题(网络,或者磁盘,或者其它各种异常),引起了集群的状态的一些变化,变化之后,集群的某些虚拟机正常某些虚拟机出现异常,异常现象就是无法启动
特别是win server2008 ,会一直卡在滚动条这里

这个问题很久前碰到过一个哥们出现过,他问我是否遇到过,这个之前遇到过一次无法启动的,通过导出导入的方式解决了,当时一直也没找到原因
这个哥们告诉我,通过关闭rbd的属性后,就可以正常启动了,当时就记了下,也没分析更深层次的原因
最近有一个环境因为时间过快,往回调整了十几分钟,集群出现mon选举,osd出现闪断以后,部分虚拟机出现无法启动的情况

问题分析

导入导出或者克隆基本可以判断数据是没有问题的,那么应该就是其它问题
通过关闭属性可以解决,那么大概能够定位到这几个属性相关的

1
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
@@ -264,7 +264,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

通过shell命令行精准调整时间

通过shell命令行精准调整时间

需求说明

有的时候我们做测试,需要把当前的时间,精准的往前或者往后调整个几秒钟,这个我写成了一个脚本,方便调整
思路是当前时间转换成unix时间,计算后,算到当前时间,然后设置

+}

通过shell命令行精准调整时间

通过shell命令行精准调整时间

需求说明

有的时候我们做测试,需要把当前的时间,精准的往前或者往后调整个几秒钟,这个我写成了一个脚本,方便调整
思路是当前时间转换成unix时间,计算后,算到当前时间,然后设置

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
timenow=`date`
unixtimenow=`date +%s`
echo $timenow
echo $unixtimenow

unixtimenew=$(($unixtimenow-2000))
echo $unixtimenew

newtime=`date -d @$unixtimenew "+%Y-%m-%d %H:%M:%S"`

echo $newtime

date -s "$newtime"

上面的-2000就是往历史调整2000秒,需要往未来调整就改成+就行了,比较简单

@@ -224,7 +224,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

简单的统计剩余ceph迁移时间

简单的统计剩余ceph迁移时间

需求

由于迁移忽快忽慢,需要知道大概的迁移的时间,做了一个简单的统计脚本,可能不准,大概能够知道在什么范围内

+}

简单的统计剩余ceph迁移时间

简单的统计剩余ceph迁移时间

需求

由于迁移忽快忽慢,需要知道大概的迁移的时间,做了一个简单的统计脚本,可能不准,大概能够知道在什么范围内

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /bin/sh
while ( 2>1 )
do
start=`ceph -s|grep pgs|grep mis|awk '{print $2}'|cut -d / -f 1`
sleep 5
end=`ceph -s|grep pgs|grep mis|awk '{print $2}'|cut -d / -f 1`
speed=$((start-end))
#echo $end
#echo $speed
second=$((end/speed*5))

hour=$(( $second/3600 ))
min=$(( ($second-${hour}*3600)/60 ))
sec=$(( $second-${hour}*3600-${min}*60 ))
echo 当前时间:`date`
echo 迁移剩余:$end
echo 迁移速度:$((speed/5))
echo 迁移还需要:${hour}小时${min}${sec}

done

上面的统计周期为5秒,理论上设置的周期越长,统计的越接近真实的

头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

awk处理字符串方法汇总

awk处理字符串方法汇总

说明

本篇记录一些字符串的处理方法,这里不具体讲完整的方法,只记录遇到的需要处理的情况

+}

awk处理字符串方法汇总

awk处理字符串方法汇总

说明

本篇记录一些字符串的处理方法,这里不具体讲完整的方法,只记录遇到的需要处理的情况

用例

用例一:解析ceph.log的ops

由于ops的单位是有的带k的有的不带k的,那么需要匹配处理

字符串示例:

1
2021-01-13 11:09:55.664479 mgr.node103 client.994548 172.168.30.103:0/265828031 659839 : cluster [DBG] pgmap v218541: 6976 pgs: 6976 active+clean; 178TiB data, 358TiB used, 370TiB / 728TiB avail; 11.4MiB/s rd, 163MiB/s wr, 1.98kop/s
@@ -235,7 +235,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何查看服务器上面的历史磁盘负载数据

如何查看服务器上面的历史磁盘负载数据

前言

服务器上面全天的负载可能存在不同,现在需要知道,之前环境上面负载的情况怎么样
如果没做监控工具情况下,想看历史数据,这个就需要用到sar的历史记录了

+}

如何查看服务器上面的历史磁盘负载数据

如何查看服务器上面的历史磁盘负载数据

前言

服务器上面全天的负载可能存在不同,现在需要知道,之前环境上面负载的情况怎么样
如果没做监控工具情况下,想看历史数据,这个就需要用到sar的历史记录了

方法

通过对sar的历史数据的读取可以查看整个服务器上面的io之和,虽然不能精确到每个磁盘,但是也能够反应一定的磁盘的负载情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sar -b -f /var/log/sa/sa05

[root@node101 zp]# sar -b -f /var/log/sa/sa05

12:00:01 AM tps rtps wtps bread/s bwrtn/s
12:10:01 AM 4578.54 3889.63 688.90 1153527.13 158204.94
12:20:01 AM 4691.51 3983.55 707.96 1245905.96 149193.88
12:30:02 AM 4408.08 3704.57 703.51 1180006.65 162309.00
12:40:01 AM 9830.09 9235.21 594.88 1092390.31 164432.00
12:50:01 AM 18801.33 18208.55 592.79 1141873.61 171874.90
01:00:01 AM 9836.11 9239.30 596.80 986271.99 177031.97
01:10:01 AM 8607.46 8031.91 575.55 962631.90 165425.27
01:20:01 AM 19046.61 18530.58 516.03 1044466.98 155575.49
01:30:01 AM 9150.17 8695.78 454.39 840282.80 132842.10

上面是时间指定日期的数据,每10分钟一个,日期是循环去覆盖的,也就是能够看到最近三十天的数据的

@@ -223,7 +223,7 @@

方法

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

mac常用软件记录

mac常用软件记录

前言

本片记录一些常用的软件,方便后续使用

+}

mac常用软件记录

mac常用软件记录

前言

本片记录一些常用的软件,方便后续使用

软件

windows远程桌面连接软件

由于有些操作需要连接到windows上面做,所以需要能够方便的连接windows的电脑,所以需要一个windows的远程连接软件

royal tsx

这个软件可以连接ssh,ftp,rdp等协议,但是免费版只能连10个,这个对于我来说太少了

@@ -248,7 +248,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何构建自己的远程高带宽环境

如何构建自己的远程高带宽环境

前言

公网的云机器配置最小配置也要100左右一年,然后带宽也特别贵,默认最小配置只提供1M带宽,之前需要远程都是通过frp穿透,使用公网机器作为中转机器,如果只用命令行还好,碰到需要传输数据,那1M带宽使用起来就特别的卡了

+}

如何构建自己的远程高带宽环境

如何构建自己的远程高带宽环境

前言

公网的云机器配置最小配置也要100左右一年,然后带宽也特别贵,默认最小配置只提供1M带宽,之前需要远程都是通过frp穿透,使用公网机器作为中转机器,如果只用命令行还好,碰到需要传输数据,那1M带宽使用起来就特别的卡了

而家里面的宽带是100M+的,公司的网络也很难给个人提供到这么大的带宽,所以可以利用家里的宽带构建个人的公网环境,家庭网络建议不要提供对外的服务,否则可能直接关网的,自己用不违法,没什么问题

如何构建自己的公网环境

以前的网络上网方式是通过路由器进行拨号,然后共享给内网机器进行共享网络,直接在路由器上面做DMZ主机或者做端口映射就可以做一些工作了,现在都是光纤网络了,到光猫的IP地址实际上是内网地址了,所以需要做下面的一些工作

打电话给10000

打电话给10000的客服,说自己需要一个公网的IP,然后客服就会生成工单,安排一个师傅在后台操作下,过几分钟以后你查询你本地的公网IP就是可以ping通的

@@ -230,7 +230,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

测试数据的可视化-通用化

测试数据的可视化-通用化

前言

如果测试数据是很大量的数据,并且是基于时间变化的,需要做成一个横轴为时间,纵轴为数值的可视化,这个有很多方法
比如用excel做成图表形式的
或者用powerbi或者其它软件做成波形图
但是找了几个软件都没有想要的效果,grafana那种又太重了,需要配置很多东西,所以这里自己实现了一个简单但是实用的数据分析网页

+}

测试数据的可视化-通用化

测试数据的可视化-通用化

前言

如果测试数据是很大量的数据,并且是基于时间变化的,需要做成一个横轴为时间,纵轴为数值的可视化,这个有很多方法
比如用excel做成图表形式的
或者用powerbi或者其它软件做成波形图
但是找了几个软件都没有想要的效果,grafana那种又太重了,需要配置很多东西,所以这里自己实现了一个简单但是实用的数据分析网页

架构

首先是原始数据,这里需要对原始数据进行处理,把数据处理成时间,数值的csv文件格式的,数量可以很多也没关系
支持通过网页导入,因为测试可能是多轮的,或者多个数据的,所以为了方便,是支持网页直接倒入的
网页是通过命令行启动的,不需要第三方的web服务器,所有的东西都维护在一个目录内,我们看下我们的效果

使用过程

以ceph.log为例,我们拿到的是原始打包好的数据

1
2
3
4
5
6
[root@lab101 data]# ll
总用量 27228
-rw------- 1 root root 1230784 1月 18 18:28 ceph.log-20210115.gz
-rw------- 1 root root 1253789 1月 18 18:28 ceph.log-20210116.gz
-rw------- 1 root root 6857295 1月 18 18:28 ceph.log-20210117.gz
-rw------- 1 root root 7443114 1月 18 18:28 ceph.log-20210118.gz
@@ -244,7 +244,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

清理多台主机集群的脚本

清理多台主机集群的脚本

目的

清理环境所有的数据,删除并恢复到初始状态

+}

清理多台主机集群的脚本

清理多台主机集群的脚本

目的

清理环境所有的数据,删除并恢复到初始状态

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#! /bin/sh
for host in lab101 lab102
do
ssh $host hostname
ssh $host systemctl stop ceph-radosgw.target
ssh $host systemctl stop ceph-osd.target
ssh $host systemctl stop ceph-mgr.target
ssh $host systemctl stop ceph-mon.target
ssh $host "for vgname in \`vgs --separator : --noheadings --units k --unbuffered --nosuffix --options 'vg_name'|grep ceph\`;do echo \$vgname;vgremove -y \$vgname;done;"
ssh $host "for osddir in \`df -h|grep osd|grep ceph|awk '{print \$6}'\`;do umount \$osddir;done;"
ssh $host "rm -rf /var/lib/ceph/osd/*"
ssh $host "rm -rf /var/lib/ceph/mon/*"
ssh $host "rm -rf /var/lib/ceph/mgr/*"
ssh $host "rm -rf /var/lib/ceph/mds/*"
ssh $host "rm -rf /etc/ceph/*"
ssh $host "for pvdisk in \`pvdisplay -c|grep new|awk '{print \$1}'|sed 's/\"//g'\`;do echo \$pvdisk;pvremove \$pvdisk;done"

done
@@ -226,7 +226,7 @@

脚本

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

使用MegaRAID Storage Manager图形界面配置RAID

使用MegaRAID Storage Manager图形界面配置RAID

软件介绍

软件的名称为LSI MegaRAID Storage Manager,很多厂商都会提供,本篇是从broadcom进行的下载,有的厂商也是直接跳转到这个网站的,比如华为的服务器,这里从这里下载就可以了

+}

使用MegaRAID Storage Manager图形界面配置RAID

使用MegaRAID Storage Manager图形界面配置RAID

软件介绍

软件的名称为LSI MegaRAID Storage Manager,很多厂商都会提供,本篇是从broadcom进行的下载,有的厂商也是直接跳转到这个网站的,比如华为的服务器,这里从这里下载就可以了

下载

直接用下面的地址

https://www.broadcom.com/site-search?filters[pages][Content_Type][type]=and&filters[pages][Content_Type][values][]=Downloads&page=1&per_page=10&q=LSI%20MegaRAID%20Storage%20Manager

@@ -232,7 +232,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

强制backfill替代recover避免阻塞

强制backfill替代recover避免阻塞

前言

做recover会触发阻塞,引起前端的IO卡住,可以通过参数避免这个情况

+}

强制backfill替代recover避免阻塞

强制backfill替代recover避免阻塞

前言

做recover会触发阻塞,引起前端的IO卡住,可以通过参数避免这个情况

调整参数

1
2
3
4
5
# the number of entries to keep in the pg log when trimming it. Defaults to 3000.
osd_min_pg_log_entries = 1

# the max entries, say when degraded, before we trim. Defaults to 10000.
osd_max_pg_log_entries = 2

是否需要做backfill是通过pg log判断的,可以通过调整上面的参数来强制做backfill

头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

存储相关招聘信息-长期

存储相关招聘信息-长期

工作地点

武汉 深圳

+}

存储相关招聘信息-长期

存储相关招聘信息-长期

工作地点

武汉 深圳

岗位要求说明

存储后台开发

负责ceph,gluster等存储系统相关的模块开发,对相关的存储系统社区开发进展熟悉,能够独立进行backport
熟悉存储系统之上的一些文件系统,nfs,samba,iscsi等等
熟悉C语言

内核相关的开发

熟悉ceph内核客户端相关的模块,能够对内核模块进行相关的开发或者集成功能,能够对高版本的功能进行低版本的适配
能够对内核进行一定程度的内核调优
熟悉C语言

存储管理系统的中间件开发

熟悉对存储系统的一些运维相关的操作,能够进行存储管理系统中间系统的开发,对外提供api接口进行相关的管理
熟悉python

@@ -219,7 +219,7 @@

存储系统的测试

熟悉存储系统的测试

工作说明

公司内的平台较多,国产化,arm等平台都在内部有相关的硬件,能够接触到最新的一些硬件平台
公司岗位自由,上面的岗位可根据自己情况自由调整

薪资标准

薪水与能力匹配即可,未做过多限制

-

联系方式

QQ:199383004
邮件:199383004@qq.com

+

联系方式

QQ:199383004
邮件:199383004@qq.com

武汉-磨渣

有相关的工作意向可以联系我
武汉工作地点为 光谷
深圳工作地点为 南山

头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

简单安装配置mariadb

简单安装配置mariadb

前言

记录mariadb的安装配置方法

+}

简单安装配置mariadb

简单安装配置mariadb

前言

记录mariadb的安装配置方法

安装

1
2
3
4
[root@lab101 bacula]# yum install mariadb-server
[root@lab101 bacula]# systemctl start mariadb
[root@lab101 bacula]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

##配置

@@ -227,7 +227,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

vmware开启disk-by-id

vmware开启disk-by-id

前言

默认vmware没开启/dev/disk/by-id的,测试opencas的时候需要这个路径,所以需要自己手动开启下

+}

vmware开启disk-by-id

vmware开启disk-by-id

前言

默认vmware没开启/dev/disk/by-id的,测试opencas的时候需要这个路径,所以需要自己手动开启下

配置

在vmware的虚拟机配置文件vmx里面添加

1
disk.EnableUUID = "TRUE"

然后重启下虚拟机,就可以看到路径内有磁盘编号了

@@ -223,7 +223,7 @@

配置

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

使用MobaXterm运行centos7图形界面窗口

使用MobaXterm运行centos7图形界面窗口

需求

需要在windows下运行linux的带图形界面的程序,不想安装完整的桌面程序,并且windows上面就能运行

+}

使用MobaXterm运行centos7图形界面窗口

使用MobaXterm运行centos7图形界面窗口

需求

需要在windows下运行linux的带图形界面的程序,不想安装完整的桌面程序,并且windows上面就能运行

安装方法

安装MobaXterm

centos安装相关的软件

1
yum install -y xorg-x11-xauth xorg-x11-utils xorg-x11-fonts-*
@@ -231,7 +231,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

测试主机的整机磁盘带宽

测试主机的整机磁盘带宽

前言

为什么需要有整机带宽的概念,因为我们很多时候去计算性能的时候,上去都会计算你有多少块盘,每块盘有多大的带宽,那么一乘就算出来了,其实没有那么简单,整个IO路径上面任何一个地方的瓶颈都会降低总体带宽的

+}

测试主机的整机磁盘带宽

测试主机的整机磁盘带宽

前言

为什么需要有整机带宽的概念,因为我们很多时候去计算性能的时候,上去都会计算你有多少块盘,每块盘有多大的带宽,那么一乘就算出来了,其实没有那么简单,整个IO路径上面任何一个地方的瓶颈都会降低总体带宽的

本篇的来源,很多年前,做机器测试的时候,总觉得机器上面的带宽不对,加起来不对,然后搜资料看到了,一个盘一个盘测试的时候带宽没问题,但是整机的磁盘IO同时下发的时候,阵列卡,背板都有可能带不动

而这个整机测试就能发现问题,最后定位到是背板有问题,刷行一下固件,总性能提升了300MB/s

测试方法

测试很简单,就算模拟所有磁盘的同时写,而fio工具是最好的测试工具

@@ -234,7 +234,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

js的数组深度拷贝

js的数组深度拷贝

问题

数组的复制的时候,如果是多维数组,进行拷贝的时候,修改新数据会影响到老数据

+}

js的数组深度拷贝

js的数组深度拷贝

问题

数组的复制的时候,如果是多维数组,进行拷贝的时候,修改新数据会影响到老数据

解决方法

深度拷贝

1
2
3
4
5
6
7
8
let newdata = JSON.parse(JSON.stringify(data.data));
let writedata = JSON.parse(JSON.stringify(data.data));
console.log("newdata:", newdata);
for (let i = 0; i < writedata.length; ++i) {
writedata[i].splice(1,1);
}
console.log(writedata);
console.log(data.data);
@@ -224,7 +224,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

时间处理相关

时间处理相关

前言

时间处理相关的一些记录

+}

时间处理相关

时间处理相关

前言

时间处理相关的一些记录

记录

时间格式类型(2021-03-12 03:34:58.744522)

转换时间为unix时间(13位)

shell下的转换

1
newtime=$[$(date -d "$mytime" +%s%N)/1000000]

python下的转换

1
2
3
4
import time
mytime="2021-03-12 03:34:58.744522"
ts=time.strptime(mytime,'%Y-%m-%d %H:%M:%S.%f')
print int(round(time.mktime(ts)*1000))
@@ -224,7 +224,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

已配置好的osd增加opencas配置

已配置好的osd增加opencas配置

前言

环境已经配置好了osd,想增加opencas的缓存加速,因为opencas支持在lvm之上部署,也支持在opencas上面创建lvm,而已经部署好osd的场景是属于前面的一种情况,也就是已经有lvm 的情况再加缓存加速

+}

已配置好的osd增加opencas配置

已配置好的osd增加opencas配置

前言

环境已经配置好了osd,想增加opencas的缓存加速,因为opencas支持在lvm之上部署,也支持在opencas上面创建lvm,而已经部署好osd的场景是属于前面的一种情况,也就是已经有lvm 的情况再加缓存加速

因为ceph有自己的挂载逻辑,所以这里需要梳理一下,把整个启动路径给屏蔽掉,然后加入自己的启动逻辑

本篇是讲的没有单独的db wal的部署缓存加速的方式

操作方法

创建一个缓存设备

1
casadm -S -i 1 -d /dev/disk/by-id/nvme-A6F1600_SW20B27P7040007-part2 -c wb
@@ -247,7 +247,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

raid卡上面的磁盘对应关系查找

raid卡上面的磁盘对应关系查找

问题

如果配置了raid,在系统层面看到的是/dev/sdb这样的设备,那这个设备对应到后台的物理磁盘是什么品牌的,具体到哪块设备,这个怎么查找

+}

raid卡上面的磁盘对应关系查找

raid卡上面的磁盘对应关系查找

问题

如果配置了raid,在系统层面看到的是/dev/sdb这样的设备,那这个设备对应到后台的物理磁盘是什么品牌的,具体到哪块设备,这个怎么查找

这个问题的来源是这样的,我有个/dev/sdb 我不清楚这个ssd是什么品牌的,我想用smartcl去查看这个磁盘的状态,但是过了raid以后无法直接查,需要用raid的编号查,但是又不清楚/dev/sdb与哪个raid对应,所以需要把这几个关系关联起来,那么下面的几个命令就是把这个关系查询到

方法

获取id

1
2
3
4
5
6
7
8
[root@lab101 ~]# lsscsi
[0:2:0:0] disk Intel RMS25CB080 3.40 /dev/sda
[0:2:1:0] disk Intel RMS25CB080 3.40 /dev/sdb
[0:2:2:0] disk Intel RMS25CB080 3.40 /dev/sdc
[0:2:3:0] disk Intel RMS25CB080 3.40 /dev/sdd
[0:2:4:0] disk Intel RMS25CB080 3.40 /dev/sde
[0:2:5:0] disk Intel RMS25CB080 3.40 /dev/sdf
[0:2:6:0] disk Intel RMS25CB080 3.40 /dev/sdg
@@ -239,7 +239,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

gimp扣图方法

gimp扣图方法

目标

快速的从一张图片里面扣取需要的元素,背景部分去掉

+}

gimp扣图方法

gimp扣图方法

目标

快速的从一张图片里面扣取需要的元素,背景部分去掉

方法

使用的软件为gimp,免费开源的,并且客户端的,常用操作都满足

倒入原始图片

模糊选择

@@ -231,7 +231,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

filecoin初探

filecoin初探

前言

filecoin最近比较火,准确来说应该2020年慢慢形成了一定的规模,初看上去,这个系统比较复杂,之前一直接触的是底层存储,逻辑上比较简单,你花钱,我提供存储,是一对一的,而filecoin这个就是基于区块链技术打造的一套系统,本篇基于目前的认知去做一些分析,后续有更新会进行一些更新

+}

filecoin初探

filecoin初探

前言

filecoin最近比较火,准确来说应该2020年慢慢形成了一定的规模,初看上去,这个系统比较复杂,之前一直接触的是底层存储,逻辑上比较简单,你花钱,我提供存储,是一对一的,而filecoin这个就是基于区块链技术打造的一套系统,本篇基于目前的认知去做一些分析,后续有更新会进行一些更新

ipfs

如果是早几年的网友应该记得某播,虽然后面被取缔了,但是那套系统还是一个很先进的系统,在互联网当中,每个人既可以是用户,也是可以对外提供数据的,俗称p2p技术,这个可以大概有个理解,就是每个人是服务者也是访问者

filecoin的存储机制类似于ipfs,ip这个地方是星际的意思,可以理解为去中心化,如果你用一个进程把你的服务上线,那么你就是整个互联网的存储服务的一个提供者了,任何加入到这个链路里面的人都可以去使用里面的存储,这个从技术上已经实现了异地的访问,传统的服务的结构是cs结构,有一个服务提供者,上面存储了数据,然后我们去访问,ipfs是从存活的节点里面去访问你需要的数据,每个内容都会在网络里面形成唯一的一个地址

如果是单纯的ipfs,那么就有个问题了,如果是公共网络里面,没有好处的话,为什么要让自己的存储对外服务,所以这个只能是一个理想状态的底层技术

@@ -228,7 +228,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

screen几个使用方法

screen几个使用方法

##前言
screen用了很久,最近有几个需求,需要进行配置,记录相关的操作

+}

screen几个使用方法

screen几个使用方法

##前言
screen用了很久,最近有几个需求,需要进行配置,记录相关的操作

需求

开启日志

需要对screen里面的终端输出进行日志的记录,方便后续的使用

1
2
3
4
screen -c  .screenrc -LS myname

[root@node141 test]# cat .screenrc
logfile /root/test.log

上面的命令说明-c是指定配置文件的,如果没配置,会使用默认的配置文件,我们可以创建多个目录,然后每个目录以终端名称命名,然后指定log的地方即可

@@ -225,7 +225,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

多任务的时候如何用screen进行日志记录并留后台运行

多任务的时候如何用screen进行日志记录并留后台运行

前言

多个终端执行类似的任务,想把日志都记录下来

+}

多任务的时候如何用screen进行日志记录并留后台运行

多任务的时候如何用screen进行日志记录并留后台运行

前言

多个终端执行类似的任务,想把日志都记录下来

操作

创建任务的目录

1
2
3
[root@localhost ~]# mkdir /chia-1
[root@localhost ~]# mkdir /chia-2
[root@localhost ~]# mkdir /chia-3

给每个任务创建一个screen的配置文件

1
2
3
4
5
[root@localhost ~]# scp .screenrc /chia-1/
[root@localhost ~]# scp .screenrc /chia-2/
[root@localhost ~]# scp .screenrc /chia-3/
[root@localhost ~]# cat .screenrc
logfile ./chia.log

执行任务

进入到任务的目录里面执行任务

@@ -228,7 +228,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

AX210蓝牙识别可用rock5b内核-armbian

AX210蓝牙识别可用rock5b内核-armbian

AX210蓝牙识别可用rock5b内核-armbian

背景

之前已经给ubuntu做了蓝牙的适配,ubuntu打的内核包并不适用于armbian的,armbian的内核是自己通过一个脚本打出来的,并且armbian下面的编译参数跟ubuntu不同

+}

AX210蓝牙识别可用rock5b内核-armbian

AX210蓝牙识别可用rock5b内核-armbian

AX210蓝牙识别可用rock5b内核-armbian

背景

之前已经给ubuntu做了蓝牙的适配,ubuntu打的内核包并不适用于armbian的,armbian的内核是自己通过一个脚本打出来的,并且armbian下面的编译参数跟ubuntu不同

比如我们需要用到的这个btusb,就是armbian做的buildin的,也就是放内核里面,不是以内核模块处理的,这个地方正常也没有问题,但是这个模块需要加载firmware的,在内核里面是无法加载外面的,需要单独处理

默认的出错显示如下:

@@ -257,7 +257,7 @@

资源

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

AX210蓝牙识别可用rock5b内核

AX210蓝牙识别可用rock5b内核

AX210蓝牙识别可用rock5b内核

背景

AX210是intel的一个wifi和蓝牙一起的模块,这个小的模块一般是在笔记本里面的,rock5b上面的接口是支持这个模块的
AX210因为比较新,所以wifi的支持在5.10内核是没有问题的,但蓝牙在这个上面就无法启动了,报下面的错误,这个错误在网上看到很多包括X86下面的内核上面也出现了,基本上就是驱动相关的问题,然后kernel官方主线内核的5.10.155也没有合入相关的支持,没有做低版本内核的backport(其实改动量也不大,就是新增的),rock5b的5.10内核也自然就不支持这个蓝牙了

+}

AX210蓝牙识别可用rock5b内核

AX210蓝牙识别可用rock5b内核

AX210蓝牙识别可用rock5b内核

背景

AX210是intel的一个wifi和蓝牙一起的模块,这个小的模块一般是在笔记本里面的,rock5b上面的接口是支持这个模块的
AX210因为比较新,所以wifi的支持在5.10内核是没有问题的,但蓝牙在这个上面就无法启动了,报下面的错误,这个错误在网上看到很多包括X86下面的内核上面也出现了,基本上就是驱动相关的问题,然后kernel官方主线内核的5.10.155也没有合入相关的支持,没有做低版本内核的backport(其实改动量也不大,就是新增的),rock5b的5.10内核也自然就不支持这个蓝牙了

开始的时候打算整个bluetooth目录替换,发现编译不过去,内核后来的版本可能还改了其它东西,最后还是只把相关的改动弄到5.10上面来,改动还好不是很大,这个地方设计的比较好的就是只是新增了相关的函数,所以也基本上对其它的蓝牙功能没影响的

错误信息

可以看到这个错误,网上关键字很多,就是wifi可用,蓝牙不可用

1
2
[   46.734253] Bluetooth: hci0: Reading Intel version information failed (-22)
[ 46.734305] Bluetooth: hci0: Intel Read version failed (-22)
@@ -297,7 +297,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

Linux下三种配置iscsi的方法

Linux下三种配置iscsi的方法

Linux下三种配置iscsi的方法

linux下面配置iscsi有多种方法,用户态的有tgt,内核态的有scst和lio,如果只是普通的使用来说,没有太大的区别,对于某些特殊的场景就存在区别了

+}

Linux下三种配置iscsi的方法

Linux下三种配置iscsi的方法

Linux下三种配置iscsi的方法

linux下面配置iscsi有多种方法,用户态的有tgt,内核态的有scst和lio,如果只是普通的使用来说,没有太大的区别,对于某些特殊的场景就存在区别了

比如tgt不支持pacemaker里面的 Persistent (SCSI-3) Reservations,而scst支持
tgt不支持vmware的vaai的某些属性,而lio支持
比如scst还支持srpt的功能,而tgt也不支持

所以在某些场景下,我们需要根据自己的需要来选择服务,总体上来说iscsi算是一个中间的组件,并不影响数据本身,只是一个对外的服务,满足需求即可

tgt的配置

@@ -289,7 +289,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

MAC-M1可以运行的opencloudos-8

MAC-M1可以运行的opencloudos-8

MAC-M1可以运行的opencloudos-8.6

前言

在centos7比较晚的版本,以及centos8的aarch64的版本里面,内核的pagesize已经默认改成了64K,而mac M1的操作系统底层最大支持的pagesize是16K的,所以启动系统的时候,安装就直接闪退

+}

MAC-M1可以运行的opencloudos-8

MAC-M1可以运行的opencloudos-8

MAC-M1可以运行的opencloudos-8.6

前言

在centos7比较晚的版本,以及centos8的aarch64的版本里面,内核的pagesize已经默认改成了64K,而mac M1的操作系统底层最大支持的pagesize是16K的,所以启动系统的时候,安装就直接闪退

显示是上面的效果,这个在centos系统里面都有这个问题,fedora里面就还是维持4k,没有问题

@@ -237,7 +237,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

centos7yum源配置

centos7yum源配置

centos7yum源配置

备注

默认的源可能是国外源,下载比较慢,所以替换下地址为国内源比较好

+}

centos7yum源配置

centos7yum源配置

centos7yum源配置

备注

默认的源可能是国外源,下载比较慢,所以替换下地址为国内源比较好

清华源

1
2
mv /etc/yum.repos.d/* /opt/ 
vim /etc/yum.repos.d/my.repo

内容如下:
有四个源,默认开启base和epel,其它两个自行开启

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[centos7-base]
name=centos7-base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
gpgcheck=0
enable=1

[centos7-updates]
name=centos7-updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/updates/x86_64/
gpgcheck=0
enable=0

[centos7-extras]
name=centos7-extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/
gpgcheck=0
enable=0

[centos7-epel]
name=centos7-epel
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
gpgcheck=0
enable=1
@@ -223,7 +223,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph的设备关系获取

ceph的设备关系获取

ceph的设备关系获取

需求

因为ceph采用的是lvm管理,磁盘对应关系找起来没有以前方便,所以用一个脚本把当前机器的对应关系列出来

+}

ceph的设备关系获取

ceph的设备关系获取

ceph的设备关系获取

需求

因为ceph采用的是lvm管理,磁盘对应关系找起来没有以前方便,所以用一个脚本把当前机器的对应关系列出来

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@node235 ceph]# cat get.sh 
#! /bin/bash
IFS=$'\n\n'
for osd in `ceph osd dump|grep osd|grep -v req|grep -v max|awk '{print $1,$19}'`
do

osdnum=`echo $osd|awk '{print $1}'`
osdid=`echo $osd|awk '{print $2}'`
vgname=`lvdisplay |grep $osdid -A 1|tail -n 1|awk '{print $3}'`
pvname=`pvdisplay |grep $vgname -B1|head -n 1|awk '{print $3}'`

echo $osdnum $osdid $vgname $pvname

done

@@ -227,7 +227,7 @@

效果

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ceph编译打包中断继续

ceph编译打包中断继续

ceph编译打包中断继续

需求

使用rpmbuild打包的时候,如果编译了很久,中间突然出问题,需要从头来处理,这个地方如果有多个错误需要处理的话,每次从头开始就比较浪费时间,我们可以让rpmbuild打包不去删除编译好的包,直接继续

+}

ceph编译打包中断继续

ceph编译打包中断继续

ceph编译打包中断继续

需求

使用rpmbuild打包的时候,如果编译了很久,中间突然出问题,需要从头来处理,这个地方如果有多个错误需要处理的话,每次从头开始就比较浪费时间,我们可以让rpmbuild打包不去删除编译好的包,直接继续

实现

修改ceph.spec脚本

@@ -226,7 +226,7 @@

实现

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

gluster副本三配置down两个可写

gluster副本三配置down两个可写

gluster副本三配置down两个可写

需求

默认做了控制,副本三down两个就阻止写了,这个可以通过参数控制

+}

gluster副本三配置down两个可写

gluster副本三配置down两个可写

gluster副本三配置down两个可写

需求

默认做了控制,副本三down两个就阻止写了,这个可以通过参数控制

参数调整

副本三,关闭两个可写

1
2
3
4
gluster volume set testvolume cluster.quorum-type fixed
gluster volume set testvolume cluster.quorum-count 1
gluster volume set testvolume cluster.quorum-reads yes
gluster volume set testvolume network.ping-timeout 10
@@ -230,7 +230,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

硬件篇

avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

opencloudos-aarch64可以使用的vdbench

opencloudos-aarch64可以使用的vdbench

opencloudos-aarch64可以使用的vdbench

前言

vdbench是一个I/O工作负载生成器,通常用于验证数据完整性和测试存储性能。它可以运行在windows、linux环境,可用于测试文件系统或块设备基准性能。很多大型的测试都是采用这个工具进行测试的,能过模拟很多不同的负载

+}

opencloudos-aarch64可以使用的vdbench

opencloudos-aarch64可以使用的vdbench

opencloudos-aarch64可以使用的vdbench

前言

vdbench是一个I/O工作负载生成器,通常用于验证数据完整性和测试存储性能。它可以运行在windows、linux环境,可用于测试文件系统或块设备基准性能。很多大型的测试都是采用这个工具进行测试的,能过模拟很多不同的负载

vdbench采用java编写的,能够比较好的支持跨平台,但是内部引用的库是会挑系统平台的,默认的zip包里面就没有带aarch64的库,需要自己获取源码,然后在aarch64上编译库文件,然后再放到zip包里面,本篇结尾的资源就是提供的这个包

问题现象

安装基本软件

1
yum install java-1.8.0-openjdk

解压

1
unzip vdbench50407.zip -d vdbench50407
@@ -240,7 +240,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

opencloudos容器镜像优化

opencloudos容器镜像优化

opencloudos容器镜像优化

前言

目前因为官方的容器也在移植阶段,并且系统是刚出来的,各方面的应该都会慢慢完善,因为之前也做了相关的移植,所以移植的作为备选的即可

+}

opencloudos容器镜像优化

opencloudos容器镜像优化

opencloudos容器镜像优化

前言

目前因为官方的容器也在移植阶段,并且系统是刚出来的,各方面的应该都会慢慢完善,因为之前也做了相关的移植,所以移植的作为备选的即可

测试发现官方的容器目前还有一些需要处理一些东西,本篇就是简单的介绍怎么用官方的容器,以及存在的问题,最后提供下我自己移植好的容器

官方容器使用方法

拉取镜像

这个操作是使用容器的常规操作了,官方也都发布到了docker hub里面,直接拉取即可

1
2
3
[root@lab101 /]# docker pull opencloudos/opencloudos:8.6
[root@lab101 /]# docker image ls
docker.io/opencloudos/opencloudos 8.6 85381566b97e 7 days ago 280 MB
@@ -253,7 +253,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rock5b可以运行的UOS操作系统

rock5b可以运行的UOS操作系统

rock5b可以运行的UOS操作系统

前言

uos是国产操作系统里面桌面做的顶尖的操作系统了,前身是deepin,基于的是debian,ubuntu系的做的桌面,国产操作系统的优势是会做一些办公工具相关的适配

+}

rock5b可以运行的UOS操作系统

rock5b可以运行的UOS操作系统

rock5b可以运行的UOS操作系统

前言

uos是国产操作系统里面桌面做的顶尖的操作系统了,前身是deepin,基于的是debian,ubuntu系的做的桌面,国产操作系统的优势是会做一些办公工具相关的适配

查了下资料,pro版本的试用期是90天,没有授权的话,只是不能使用应用商店,其它的使用没有区别

相关资源

这个img为初始的版本,比较大,有12G的,看了下内部装完系统占用有7G左右,这个大小方面和使用后续会持续发布新的版本,内核相关的后面看下是否也更新替换下,目前采用的是官方提供的

使用

由于网盘的原因,采用的分卷压缩的,全部分卷下载完成后,使用360zip进行解压即可

@@ -231,7 +231,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rockpi5b安装系统-microsd

rockpi5b安装系统-microsd

rock5b安装系统-microsd

系统安装到哪里

从之前的接口介绍里面我们介绍了,存储接口有:

+}

rockpi5b安装系统-microsd

rockpi5b安装系统-microsd

rock5b安装系统-microsd

系统安装到哪里

从之前的接口介绍里面我们介绍了,存储接口有:

  • micro sd
  • emmc 存储
  • @@ -260,7 +260,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rockpi5b硬件组成

rockpi5b硬件组成

rk3588硬件构成

前言

rk3588是瑞芯微的一套新的arm64的板子,上一代用的比较多的是rk3399,新的硬件设备比之前更强大,接口更多,本系列就是介绍相关的硬件软件的一些资料,后面会根据不同的使用进行分篇的介绍

+}

rockpi5b硬件组成

rockpi5b硬件组成

rk3588硬件构成

前言

rk3588是瑞芯微的一套新的arm64的板子,上一代用的比较多的是rk3399,新的硬件设备比之前更强大,接口更多,本系列就是介绍相关的硬件软件的一些资料,后面会根据不同的使用进行分篇的介绍

很多资料官网有提供,细节上面会做一些补充,更方便操作和理解

用的板子

手上用的是rockpi5b,之前在搞rk的板子的时候,发现rockpi的内核是做的最好的,瑞芯微提供的是4.4的内核,而在rockpi4b的时候,这个板子可以运行比较高的版本的内核,对于对内核有一定的需求的,这个还是比较好的

本系列是基于rockpi5b进行记录的

@@ -240,7 +240,7 @@

壳子

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

rockpi5b配件

rockpi5b配件

rockpi5b配件

配件

因为开发版默认购买的时候是一个裸板子,后续的其它工作,需要配件来支撑完成,所以本篇就是记录这些配件的,以及可能的用途,有的配件并不是必要,可以通过其它方式实现,这里会把所有用到的配件都记录下来

+}

rockpi5b配件

rockpi5b配件

rockpi5b配件

配件

因为开发版默认购买的时候是一个裸板子,后续的其它工作,需要配件来支撑完成,所以本篇就是记录这些配件的,以及可能的用途,有的配件并不是必要,可以通过其它方式实现,这里会把所有用到的配件都记录下来

电源

这个电源是pd电源,也就是一个typec接口的电源,通过协商电压进行供电的,而协商电压是有内核里面控制的,最新版的内核应该把协商电压处理好了,这个协商就是低电压高电压,都可能能够运行,但是跟那个电源关系比较大,目前我手上确定可以用的电源如下,这个官方的群里面有提供一个收集的兼容列表,这里就记录我手上确定可以用的和确定不可以用的:

  • oneplus 8T的pd充电器(不行)
  • @@ -233,7 +233,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

s3的v2认证构造-lua

s3的v2认证构造-lua

前言

本篇内容实现了相关功能的硬编码的部分,还有细节未处理,验证了可行性

+}

s3的v2认证构造-lua

s3的v2认证构造-lua

前言

本篇内容实现了相关功能的硬编码的部分,还有细节未处理,验证了可行性

相关代码记录

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
ngx.log(ngx.INFO, "文件路径为:", ngx.var.uri)
ngx.log(ngx.INFO, "请求方法为:", ngx.var.request_method)
--这个打印的是收到的header的内容
ngx.log(ngx.INFO, "请求header2为:", ngx.req.raw_header(true))

--获取编码需要的信息
ngx.log(ngx.INFO, "请求的method", ngx.var.request_method)
ngx.log(ngx.INFO, "请求的content-md5:", ngx.req.get_headers()['content-md5'])
ngx.log(ngx.INFO, "请求的content-type:", ngx.req.get_headers()['content-type'])
ngx.log(ngx.INFO, "请求的date:", ngx.req.get_headers()['date'])
--从这里开始的获取的应该进行一个key的排序,动态的变量,然后拼接
ngx.log(ngx.INFO, "请求的x-amz-date:", ngx.req.get_headers()['x-amz-date'])
ngx.log(ngx.INFO, "请求的x-amz-meta-s3cmd-attrs:", ngx.req.get_headers()['x-amz-meta-s3cmd-attrs'])
ngx.log(ngx.INFO, "请求的x-amz-storage-class:", ngx.req.get_headers()['x-amz-storage-class'])

local string_to_sign = ngx.var.request_method .. "\n"
if ngx.req.get_headers()['content-md5'] == nil then
string_to_sign = string_to_sign .. "\n"
else
string_to_sign = string_to_sign .. ngx.req.get_headers()['content-md5']
end

if ngx.req.get_headers()['content-type'] == nil then
string_to_sign = string_to_sign .. "\n"
else
string_to_sign = string_to_sign .. ngx.req.get_headers()['content-type'] .. "\n"
end

if ngx.req.get_headers()['date'] == nil then
string_to_sign = string_to_sign .. "\n"
else
string_to_sign = string_to_sign .. ngx.req.get_headers()['date'] .. "\n"
end

local headers = ngx.req.get_headers()
local hkeys = {}
for k,_ in pairs(headers) do
table.insert(hkeys, k)
end
table.sort(hkeys)

for _,key in pairs(hkeys) do
if string.find(key,"x-amz-") ~= nil then
if key == "x-amz-storage-class" then
ngx.log(ngx.INFO,"需要替换的class:",key,headers[key])
string_to_sign = string_to_sign .. key .. ":" .. "STANDARD" .. "\n"
else

ngx.log(ngx.INFO,"zp_key_panduan: ", key)
string_to_sign = string_to_sign .. key .. ":" .. headers[key] .. "\n"
end
end
if string.find(key,"x-emc-") ~= nil then
string_to_sign = string_to_sign .. key .. ":" .. headers[key] .. "\n"
end
end
string_to_sign = string_to_sign .. ngx.var.uri

ngx.log(ngx.INFO,"自定义的string_to_sign:",string_to_sign)

-- print(string_to_sign)
--截取函数
function Str_Cut(str,s_begin,s_end)

local StrLen = string.len(str)
local s_begin_Len = string.len(s_begin)
local s_end_Len = string.len(s_end)
local s_begin_x = string.find(str, s_begin, 1)
--print(s_begin_x)
local s_end_x = string.find(str, s_end, s_begin_x+1)
--print(s_end_x)
local rs=(string.sub(str, s_begin_x+s_begin_Len, s_end_x-1))
return rs

end
--

local secret_key = "test1"
local digest = ngx.hmac_sha1(secret_key, string_to_sign)
ngx.log(ngx.INFO,"加密后的Authorization:",ngx.encode_base64(digest))
local header_authorization = ngx.req.get_headers()["authorization"]
--local accesskey = string.match(header_authorization,"%s+.+:")
local auth_start,auth_end,auth_name,auth_access,auth_authorization = string.find(header_authorization,'(.+)%s(.+):(.+)')
ngx.log(ngx.INFO,"accesskey:",auth_access)
ngx.log(ngx.INFO,"authorization:",auth_authorization)

--这个是从header里面提取的原始的
--new_auth= "AWS " .. auth_access ..":" .. auth_authorization
-- 下面是自己在openresty里面重新构造的
new_auth= "AWS " .. auth_access ..":" .. ngx.encode_base64(digest)
ngx.log(ngx.INFO,"new_auth:",new_auth)
--到这里完成了相关的构造,现在要尝试修改headers的内容以及重新生产的auth
ngx.req.set_header("Authorization", new_auth )
ngx.req.set_header("x-amz-storage-class", "STANDARD" )
ngx.log(ngx.INFO,"获取的header的authorization: ",ngx.req.get_headers()["authorization"])
--
local attrs = ngx.req.get_headers()["x-amz-meta-s3cmd-attrs"]
ngx.log(ngx.INFO,"获取的x-amz-meta-s3cmd-attrs",attrs)


local date=os.date("%Y%m%d%H%M%S");
ngx.log(ngx.INFO, "当前时间:",date)

在s3传输的过程中,可以通过构造改变请求的方式,在中间截取认证,并且控制数据流向

@@ -223,7 +223,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

ubuntu-server安装桌面

ubuntu-server安装桌面

ubuntu-server安装桌面

背景

默认安装的是不带图形界面的,我们自己安装下桌面

+}

ubuntu-server安装桌面

ubuntu-server安装桌面

ubuntu-server安装桌面

背景

默认安装的是不带图形界面的,我们自己安装下桌面

修改源文件

默认也是用的官方的ubuntu的源,我们修改为国内的源要快一些

1
2
3
root@rock-5b:~# cp /etc/apt/sources.list /etc/apt/sources.list.bk
root@rock-5b:~# sed -i 's/ports.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
root@rock-5b:~# apt-get update

或者华为源(最近清华源有点慢)

@@ -231,7 +231,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

vdbench测试生成器

vdbench测试生成器

vdbench测试生成器

背景

vdbench测试是根据配置文件进行测试的,有的时候我们需要循环的进行不同的测试用例进行测试,并且进行数据的大量填充,大小文件进行交错的填充来检测环境的稳定性

+}

vdbench测试生成器

vdbench测试生成器

vdbench测试生成器

背景

vdbench测试是根据配置文件进行测试的,有的时候我们需要循环的进行不同的测试用例进行测试,并且进行数据的大量填充,大小文件进行交错的填充来检测环境的稳定性

分析

我们定义几组不同的配置文件,然后根据配置文件定义测试的次数,然后定义总次数,以及测试目录,然后生成配置文件,再使用脚本按顺序进行测试并记录结果

实现

写几个模版配置文件

这个没有什么特殊的地方,根据自己的需要编写即可
测试的目录留空

1
anchor=
@@ -239,7 +239,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

vsphere硬件加速VAAI的实现

vsphere硬件加速VAAI的实现

vsphere硬件加速VAAI的实现

tgtd的支持情况

librbd支持的情况

+}

vsphere硬件加速VAAI的实现

vsphere硬件加速VAAI的实现

vsphere硬件加速VAAI的实现

tgtd的支持情况

librbd支持的情况

从平台上面查询可以看到显示的受支持的

@@ -284,7 +284,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

使用串口连接查看启动信息

使用串口连接查看启动信息

使用串口连接查看启动信息

背景

一般情况下通过屏幕连接就可以查看信息,但是有的时候,需要看下系统启动过程中的一些问题,所以就需要串口方式了

+}

使用串口连接查看启动信息

使用串口连接查看启动信息

使用串口连接查看启动信息

背景

一般情况下通过屏幕连接就可以查看信息,但是有的时候,需要看下系统启动过程中的一些问题,所以就需要串口方式了

使用方法

连接设备

把三根线插到板子的针脚下面,这个按规定的插上就行

windows电脑连接

使用xshell里面连接设置即可

@@ -238,7 +238,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何获取cubefs的master的信息

如何获取cubefs的master的信息

如何获取cubefs的master的信息

背景
最近关注到一套全新的分布式文件系统cubefs,这个之前的名称是chubaofs,看github上面应该有做切换了一段时间,但是不清楚什么原因,文档和包切换的还不是很彻底

+}

如何获取cubefs的master的信息

如何获取cubefs的master的信息

如何获取cubefs的master的信息

背景
最近关注到一套全新的分布式文件系统cubefs,这个之前的名称是chubaofs,看github上面应该有做切换了一段时间,但是不清楚什么原因,文档和包切换的还不是很彻底

所以在使用过程中需要注意下,注意下版本选择,这个在后面的文档里面再单独的说下这个问题

这个分布式文件系统跟ceph类似,也是采用了管理节点的角色,本篇就是讲如何获取这个管理节点的信息的,从官方的指导文档看,这块讲的还是不够详细

@@ -324,7 +324,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

局域网内的文件传输

局域网内的文件传输

局域网内的文件传输

需求

局域网内的文件传输,使用QQ或者其它网盘什么的,超大文件很容易传输失败,所以可以通过架设http传输服务器的方式进行处理

+}

局域网内的文件传输

局域网内的文件传输

局域网内的文件传输

需求

局域网内的文件传输,使用QQ或者其它网盘什么的,超大文件很容易传输失败,所以可以通过架设http传输服务器的方式进行处理

同样的也可以在有公网IP的服务器上面搭建服务

搭建服务器

这个服务器可以在windows或者linux中转服务器都行

@@ -230,7 +230,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

打包一个支持rbd的tgt

打包一个支持rbd的tgt

打包一个支持rbd的tgt

下载源码包

当前的最新版本到了1.0.84,本篇就以这个举例子

+}

打包一个支持rbd的tgt

打包一个支持rbd的tgt

打包一个支持rbd的tgt

下载源码包

当前的最新版本到了1.0.84,本篇就以这个举例子

1
2
3
4
5
6
[root@lab103 tgtd]# wget https://github.com/fujita/tgt/archive/refs/tags/v1.0.84.tar.gz
[root@lab103 tgtd]# tar -xvf v1.0.84.tar.gz
[root@lab103 tgtd]# cd tgt-1.0.84/
[root@lab103 tgt-1.0.84]# mv README.md README
[root@lab103 scsi]# cd ../
[root@lab103 scsi]# tar -czvf tgt-1.0.84.tar.gz tgt-1.0.84

上面有个打包的脚本没处理好,需要改下上面的文件名称,然后压缩成新的包

@@ -242,7 +242,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

端口转发配置

端口转发配置

端口转发配置

需求

有的时候机器有一台网关机器,需要做端口转发的工作,那么可以使用iptables或者使用firwalld进行配置,firewalld底层也是调用的跟iptables一样的内核模块的,只是命令的不同

+}

端口转发配置

端口转发配置

端口转发配置

需求

有的时候机器有一台网关机器,需要做端口转发的工作,那么可以使用iptables或者使用firwalld进行配置,firewalld底层也是调用的跟iptables一样的内核模块的,只是命令的不同

配置

环境说明

@@ -249,7 +249,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

脚本禁止登录尝试

脚本禁止登录尝试

脚本禁止登录尝试

需求

有ip不停的尝试登录,可以通过防火墙进行屏蔽

+}

脚本禁止登录尝试

脚本禁止登录尝试

脚本禁止登录尝试

需求

有ip不停的尝试登录,可以通过防火墙进行屏蔽

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat /var/log/secure |grep failure|awk '{for (i=1;i<=NF;i++){if ($i ~/rhost/) {print $i}}}'| sort | uniq|awk -F"=" '{print $2}' >> black.list

cat black.list|sort|uniq > black.list.tmp
rm -rf black.list
mv black.list.tmp black.list

firewall-cmd --list-rich-rules > blackiprule.list
all=`cat blackiprule.list`

for ip in `cat black.list|sort|uniq`
do
if [[ $all =~ $ip ]]
then
:
else
echo "不包含"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='$ip' reject"
fi
done

cat blackiprule.list|wc -l
firewall-cmd --reload
@@ -225,7 +225,7 @@

脚本

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

自定义rock5b内核

自定义rock5b内核

自定义rock5b内核

官方资料

+}

自定义rock5b内核

自定义rock5b内核

自定义rock5b内核

官方资料

https://wiki.radxa.com/Rock5/guide/build-debian-from-debos-radxa

官方的资料在这里,打包成deb包,然后进行安装的是没有问题的,手动编译成Image,和dtb的,然后替换的部分,是有问题的,如果严格按照上面的文档的方法手动去更新内核,是启动不起来的,本篇就把这块补充起来

@@ -302,7 +302,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

获取一段时间内ceph的osd磁盘读写情况

获取一段时间内ceph的osd磁盘读写情况

获取一段时间内ceph的osd磁盘读写情况

需求

这个是统计一段时间内ceph的磁盘上的数据的读取和写入的数据量以及花费的时间

+}

获取一段时间内ceph的osd磁盘读写情况

获取一段时间内ceph的osd磁盘读写情况

获取一段时间内ceph的osd磁盘读写情况

需求

这个是统计一段时间内ceph的磁盘上的数据的读取和写入的数据量以及花费的时间

信息获取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@node235 ceph]# cat /sys/block/sdj/sdj1/stat
1575 0 335680 1687 145461 46 5334992 269147 0 54562 270566

第一个域 读取磁盘的次数
第二个是 合并读取的次数
第三个域 读扇区的次数
第四个域 读花费的毫秒数
第五个域 写完成次数
第六个域 合并写次数
第七个域 写扇区的次数
第八个域 写操作花的毫秒数
第九个域 正在处理的io数目
第十个域 输入输出花的总毫秒数
第十一个域 输入输出花的加权毫秒数

来源:

@@ -231,7 +231,7 @@

效果

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

海康威视AnalyzeDatasdk的python调用方法

海康威视AnalyzeDatasdk的python调用方法

前言

sdk是通过海康开放平台下载下来的,但是这个只提供了C的库,测试下用python调用的方法

+}

海康威视AnalyzeDatasdk的python调用方法

海康威视AnalyzeDatasdk的python调用方法

前言

sdk是通过海康开放平台下载下来的,但是这个只提供了C的库,测试下用python调用的方法

实践

获取sdk的版本号

获取版本号是最基本的调用方法,可以验证下python最小运行环境
使用的sdk版本

AnalyzeData_4.3.2.9_CentOs_release_5.4_64bit_base_20180710.zip

@@ -235,7 +235,7 @@

实践

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

influxdb常用命令

influxdb常用命令

前言

之前在研究lustreperfmon,发现软件采用的是collectd加上influxdb的软件架构,使用过程中涉及到一些命令记录下来,方便后续使用

+}

influxdb常用命令

influxdb常用命令

前言

之前在研究lustreperfmon,发现软件采用的是collectd加上influxdb的软件架构,使用过程中涉及到一些命令记录下来,方便后续使用

相关命令

查看数据库

1
2
3
4
5
[root@test201 influxdb]# influx  --execute "show databases;"
name: databases
name
----
_internal
@@ -249,7 +249,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

希捷硬盘升级固件方法

希捷硬盘升级固件方法

固件升级

一般情况下不需要升级,但是在测试磁盘能源管理的时候,发现部分硬盘无法休眠,通过固件升级后得到解决

+}

希捷硬盘升级固件方法

希捷硬盘升级固件方法

固件升级

一般情况下不需要升级,但是在测试磁盘能源管理的时候,发现部分硬盘无法休眠,通过固件升级后得到解决

升级步骤

查询硬盘型号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@node17 ~]# smartctl -i /dev/sdb
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-4.14.113-1.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model: ST4000NM0035-1V4107
Serial Number: ZC13ZGZP
LU WWN Device Id: 5 000c50 0a53981ae
Firmware Version: TN04
User Capacity: 4,000,787,030,016 bytes [4.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Thu Feb 23 18:15:04 2023 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

通过smartctl查询硬盘的序列号,也就是上面的ZC13ZGZP

@@ -236,7 +236,7 @@

备注

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

openai的反向代理设置

openai的反向代理设置

背景

chatgpt屏蔽了很多地方的访问,使用起来很麻烦,现在的需求就是想使用本地网络就可以使用这个,那么可以通过nginx作代理进行访问

+}

openai的反向代理设置

openai的反向代理设置

背景

chatgpt屏蔽了很多地方的访问,使用起来很麻烦,现在的需求就是想使用本地网络就可以使用这个,那么可以通过nginx作代理进行访问

网络架构

本身的请求是直接发给openai的,这里我们使用一台服务器运行nginx,作为反向代理发送请求到api.openai.com

@@ -237,7 +237,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

基于openai做的语音识别

基于openai做的语音识别

背景

开会通过录屏的方式把会议的视频和语音录下来了,会后想对会议内容进行一个提取,或者是通过录音的方式记录了一段对话,需要对对话过程做个提取
钉钉会议提供了会议记录的一些功能,但是也有可能忘了开启,或者是其它场景下的录音

+}

基于openai做的语音识别

基于openai做的语音识别

背景

开会通过录屏的方式把会议的视频和语音录下来了,会后想对会议内容进行一个提取,或者是通过录音的方式记录了一段对话,需要对对话过程做个提取
钉钉会议提供了会议记录的一些功能,但是也有可能忘了开启,或者是其它场景下的录音

需求

就是对语音进行文字的转换的操作,这个在国内的一些云厂商都提供了这个,但是费用和开通过程都有点贵,最近正好使用了openai,通过这个处理的费用还好,本篇就是记录这个处理过程的

实现

mp4提取mp3

1
ffmpeg -i video.mp4 -f mp3 -vn myoutput.mp3

这一步就是通过使用ffmpeg对视频内的音频进行提取的操作

@@ -246,7 +246,7 @@

后续

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

比较两个系统安装的rpm

比较两个系统安装的rpm

需求

有的时候需要做系统适配的时候,远端的系统是经过定制的系统,本地的安装是按正常流程进行的安装,需要在远端进行安装包的离线安装,那么本地就需要提前做好一模一样的系统,本篇的脚本就是用于比较这个版本的区别,然后在本地做好一样的系统,然后再做适配

+}

比较两个系统安装的rpm

比较两个系统安装的rpm

需求

有的时候需要做系统适配的时候,远端的系统是经过定制的系统,本地的安装是按正常流程进行的安装,需要在远端进行安装包的离线安装,那么本地就需要提前做好一模一样的系统,本篇的脚本就是用于比较这个版本的区别,然后在本地做好一样的系统,然后再做适配

脚本

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
[root@build syncos]# cat check.py
#! /bin/python3
# -*- coding:utf-8 -*-

import sys
import re
#print(sys.argv[1])
#print(sys.argv[2])
qian={}
hou={}

f = open(sys.argv[1])
line = f.readline()
while line:
line=line.strip('\n')
new_rpm = re.sub(r'-\d+\.', '.', line)
new_rpm = new_rpm.split(".")[0]
qian[new_rpm]=line
line = f.readline()
f.close()

f = open(sys.argv[2])
line = f.readline()
while line:
line=line.strip('\n')
new_rpm = re.sub(r'-\d+\.', '.', line)
new_rpm = new_rpm.split(".")[0]
hou[new_rpm]=line
line = f.readline()
f.close()

print("===检查本地有远程没有的情况==需要本地卸载==")
for key,val in qian.items():
if key in hou:
if qian[key].strip(' ') == hou[key].strip(' '):
pass
else:
print(qian[key]+" "+hou[key])
else:
print("yum remove -y %s" %(key))

print("===检查远程有本地没有的情况=需要本地安装===")

for key,val in hou.items():
if key in qian:
if hou[key].strip(' ') == qian[key].strip(' '):
pass
else:
print(qian[key]+" "+hou[key])
else:
print("rpm -ivh %s" %(key))
@@ -230,7 +230,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

openeuler不识别cmake_build

openeuler不识别cmake_build

背景

在openeuler上面打包rpm的时候,有的src.rpm内部调用了%cmake_build的宏变量,openeuler的默认cmake3.22版本不支持,可以通过修改宏变量来实现可用

+}

openeuler不识别cmake_build

openeuler不识别cmake_build

背景

在openeuler上面打包rpm的时候,有的src.rpm内部调用了%cmake_build的宏变量,openeuler的默认cmake3.22版本不支持,可以通过修改宏变量来实现可用

修改

修改文件路径为: /usr/lib/rpm/macros.d/macros.cmake

@@ -226,7 +226,7 @@

修改

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

nmon文件过大的处理方法

nmon文件过大的处理方法

nmon的文件存在过大的问题

+}

nmon文件过大的处理方法

nmon文件过大的处理方法

nmon的文件存在过大的问题

获取第一个ZZZZ之前的内容,大概在2000行之前

root@ruichi-Default-string:/chia# head -n 2000 ruichi-Default-string_210428_2224.nmon |grep -n “ZZZZ”
1288:ZZZZ,T0001,22:24:43,28-APR-2021
1310:ZZZZ,T0002,22:24:44,28-APR-2021
1333:ZZZZ,T0003,22:24:45,28-APR-2021
1357:ZZZZ,T0004,22:24:46,28-APR-2021
1379:ZZZZ,T0005,22:24:47,28-APR-2021
1404:ZZZZ,T0006,22:24:48,28-APR-2021
1428:ZZZZ,T0007,22:24:49,28-APR-2021

可以看到应该在1288行开始,那么相当于头部文件为1287行
对原始文件分割

@@ -231,7 +231,7 @@ input.setSelectionRange(0, 99999); document.execCommand("copy"); document.body.removeChild(input); -}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

如何导出cnblog里面的md文件

如何导出cnblog里面的md文件

下载文章

下面的脚本是从网站下载md的文件,100篇一页,下载几次即可,修改下脚本

+}

如何导出cnblog里面的md文件

如何导出cnblog里面的md文件

下载文章

下面的脚本是从网站下载md的文件,100篇一页,下载几次即可,修改下脚本

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
#! /bin/python
# -*- coding:utf-8 -*-

import requests
import json

# 获取当前登录用户信息
#url = 'https://api.cnblogs.com/api/users'
# 获取个人信息
#url = 'https://api.cnblogs.com/api/blogs/zphj1987'

# 获取个人随笔列表
url="https://api.cnblogs.com/api/blogs/zphj1987/posts?pageSize=100&pageIndex=1"
headers = {"Authorization":"Bearer "+"------token cnblog获取"}
r = requests.get(url, headers=headers)
reslist=r.text
reslist=json.loads(reslist)
print(reslist)
print(json.dumps(reslist,ensure_ascii=False))
for val in reslist:
newval=json.dumps(val,ensure_ascii=False)
print(newval)
print("获取的url")
print(val["Url"])
print("文章标题")
print(val["Title"])
print("获取发布的时间")
print(val["PostDate"].replace("T"," "))
print("获取markdown的地址")
mdurl=val["Url"].replace(".html",".md" )
print(mdurl)
headers = {
"User-Agent": "Apifox/1.0.0 (https://apifox.com)",
"Authorization":"Bearer ------------------token cnblog网站获取----------------",
"Accept": "*/*",
"Host": "www.cnblogs.com",
"Connection": "keep-alive",
}
content = requests.get(mdurl, headers=headers).content
print(content)
print(val["Title"])
print(val["PostDate"].replace("T"," "))
head_content= """---
title: %s
date: %s
tags: "暂未分类"
categories: "暂未分类"
---
"""%(val["Title"].encode('utf-8'),val["PostDate"].replace("T"," ").encode('utf-8'))
print(head_content)
all_content=head_content + content
print(all_content)
with open('output/%s.md' %(val["Title"]),'wb') as file:
file.write(all_content+ '\n')

下载完成后就得到了全部的md文件,这个里面的img引用的还是cnblog的资源地址,我们需要下载相关的资源,然后替换blog内的引用地址

@@ -229,7 +229,7 @@

总结

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

推送监控消息到钉钉群

推送监控消息到钉钉群

需求

实现的需求很简单,就是需要定期发送一个监控信息到钉钉群里面,避免需要人工登录机器查询信息,需要监控的机器本身无法上网,通过一台能上网的windows机器做中转

+}

推送监控消息到钉钉群

推送监控消息到钉钉群

需求

实现的需求很简单,就是需要定期发送一个监控信息到钉钉群里面,避免需要人工登录机器查询信息,需要监控的机器本身无法上网,通过一台能上网的windows机器做中转

架构

1、被监控机器定期获取数据,并开启http服务
2、windows机器通过http请求定期获取被监控机器的数据
3、windows机器把消息发送出去

实现

机器提供数据

开启http服务

1
python -m http.server 4444
@@ -228,7 +228,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

DNS在第四个为什么解析失败了

DNS在第四个为什么解析失败了

问题

测试环境发现在linux的域名解析配置里面添加四个nameserver的时候,第四个dns没有生效

+}

DNS在第四个为什么解析失败了

DNS在第四个为什么解析失败了

问题

测试环境发现在linux的域名解析配置里面添加四个nameserver的时候,第四个dns没有生效

模拟

1
2
3
4
5
6
7
[root@node102 ~]# cat /etc/resolv.conf
options edns0 trust-ad
# Generated by NetworkManager
nameserver 192.168.5.28
nameserver 192.168.5.29
nameserver 192.168.5.30
nameserver 223.5.5.5

指定三个无效的DNS,然后最后一个使用正常的nameserver
然后ping www.baidu.com这个是无法解析的
然后改成

1
2
3
4
nameserver 192.168.5.28
nameserver 192.168.5.29
#nameserver 192.168.5.30
nameserver 223.5.5.5
@@ -228,7 +228,7 @@

模拟

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
文章目录
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

fio的联机模式

fio的联机模式

需求

通过fio控制多台同时测试,让io并发

+}

fio的联机模式

fio的联机模式

需求

通过fio控制多台同时测试,让io并发

使用方法

在受控客户端每台机器上面执行

1
fio --server
@@ -231,7 +231,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體

通过命令行创建KVM虚拟机

通过命令行创建KVM虚拟机

前言

本篇是记录通过命令行创建一个虚拟机的测试环境

+}

通过命令行创建KVM虚拟机

通过命令行创建KVM虚拟机

前言

本篇是记录通过命令行创建一个虚拟机的测试环境

创建过程

下载ISO镜像

1
wget https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso
@@ -297,7 +297,7 @@

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
avatar
这有关于产品、技术、开发相关的问题和看法。
相信你可以在这里找到对你有用的知识教程
最近发布
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體
加载头像

multipath多路径主主和主备配置

multipath多路径主主和主备配置

前言

多路径的配置方法,尽量最小操作的配置

+

配置方法

主备的配置

1
2
3
4
5
6
7
 defaults {
user_friendly_names yes
}
blacklist {
devnode "^sd[a]"
}

+ +

核心控制主备的是
多活

+
1
2
path_grouping_policy    multibus
path_selector "round-robin 0"
+

主备(默认选项)

1
2
path_grouping_policy "failover"
path_selector "service-time 0"

注意在device设备的配置优先级更高,注意下device写的时候一定要匹配正确,如果有多种设备使用的时候并且配置不一样的时候才启动device的配置文件

+
1
2
3
4
5
6
7
[root@node231 etc]# multipath -ll|tail -n 6
dg03_v0001 (3600c0ff00053a815593a676201000000) dm-5 SEAGATE ,5565
size=116T features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 16:0:0:2 sdd 8:48 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 16:0:1:2 sdl 8:176 active ready running
+

双活的配置

1
2
3
4
5
6
7
8
9
10
[root@node231 etc]# cat /etc/multipath.conf
defaults {
path_selector "round-robin 0"
path_grouping_policy "multibus"
user_friendly_names yes
find_multipaths yes
}
blacklist {
devnode "^sd[a]"
}
+ + +

独立device配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

blacklist {
devnode "^sd[a]"
}
defaults {
user_friendly_names yes
}

devices {
device {
vendor "SCST_FIO"
product "disk1"
path_grouping_policy "multibus"
path_selector "round-robin 0"
}
}
+

上面就是默认的主备,指定设备配置成主主的情况,独立配置覆盖默认配置

+

vendor和product的获取

+
1
2
3
4
5
[root@lab105 ~]# lsscsi --scsi_id
[0:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda -
[2:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0 -
[44:0:0:0] disk SCST_FIO disk1 360 /dev/sdb 26238666462643332
[45:0:0:0] disk SCST_FIO disk1 360 /dev/sdc 26238666462643332
+

上面的 SCST_FIO disk1 就是分别对应的vendor product

+

结论

上面的就完成了两种模式的配置,更多的配置,后续有需要用到再补充说明

+
头像头像
zphj1987
竹杖芒鞋轻胜马,一蓑烟雨任平生
打赏作者
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨磨的技术博客
引用到评论
\ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 3e409e143..2817c0db0 100644 --- a/docs/404.html +++ b/docs/404.html @@ -66,7 +66,7 @@ isHome: false, isHighlightShrink: false, isToc: false, - postUpdate: '2024-02-23 15:18:26', + postUpdate: '2024-02-28 18:26:16', postMainColor: '', }
加载头像
引用到评论
\ No newline at end of file diff --git "a/docs/categories/\347\273\217\351\252\214\346\200\273\347\273\223/index.html" "b/docs/categories/\347\273\217\351\252\214\346\200\273\347\273\223/index.html" index 90f771e73..776526158 100644 --- "a/docs/categories/\347\273\217\351\252\214\346\200\273\347\273\223/index.html" +++ "b/docs/categories/\347\273\217\351\252\214\346\200\273\347\273\223/index.html" @@ -66,7 +66,7 @@ isHome: false, isHighlightShrink: false, isToc: false, - postUpdate: '2024-02-23 15:18:27', + postUpdate: '2024-02-28 18:26:17', postMainColor: '', }
加载头像
引用到评论
\ No newline at end of file diff --git "a/docs/tags/\350\231\232\346\213\237\345\214\226/index.html" "b/docs/tags/\350\231\232\346\213\237\345\214\226/index.html" index cee3fc710..c0035a031 100644 --- "a/docs/tags/\350\231\232\346\213\237\345\214\226/index.html" +++ "b/docs/tags/\350\231\232\346\213\237\345\214\226/index.html" @@ -66,7 +66,7 @@ isHome: false, isHighlightShrink: false, isToc: false, - postUpdate: '2024-02-23 15:18:27', + postUpdate: '2024-02-28 18:26:17', postMainColor: '', }