Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
huataihuang committed Jul 25, 2023
1 parent 37e6d9d commit 7507d3b
Show file tree
Hide file tree
Showing 14 changed files with 71 additions and 17 deletions.
2 changes: 1 addition & 1 deletion source/gluster/deploy/gluster_releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Gluster发布版本
CentOS社区版本
==============

在 `glusterfs下载网站 <https://download.gluster.org/pub/gluster/glusterfs/>`_ 可以看到对不同GlusterFS版本的下载索引,例如 :ref:`deploy_centos7_suse15_gluster11` 采用 GlusterFS 11.x ,就可以根据说明看到实际软件包是由 CentOS Storage SIG 提供,也就是首先激活SIG(在 :ref:`build_install_glusterfs` 也同样需要激活):
在 `glusterfs下载网站 <https://download.gluster.org/pub/gluster/glusterfs/>`_ 可以看到对不同GlusterFS版本的下载索引,例如 :ref:`deploy_centos7_suse15_suse12_gluster11` 采用 GlusterFS 11.x ,就可以根据说明看到实际软件包是由 CentOS Storage SIG 提供,也就是首先激活SIG(在 :ref:`build_install_glusterfs` 也同样需要激活):

- 激活 :ref:`centos_sig_gluster` :

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. _deploy_suse_gluster_client_old:
.. _deploy_sles12sp3_gluster4_client:

===============================
SUSE平台Gluster客户端部署(旧版)
===============================
=======================================
在SLES 12 sp3中部署GlusterFS 4客户端
=======================================

SUSE系统环境可以使用 ``lsb-release -a`` 命令检查版本::

Expand Down Expand Up @@ -173,7 +173,7 @@ Mount failed

Missing separate debuginfos, use: zypper install glusterfs-debuginfo-4.1.10-101.1.x86_64

不过,opensuse提供的下载软件包没有dubuginfo,这步排查暂时放弃。后续我实际是通过自己编译源代码来完成部署( :ref:`build_glusterfs_suse` )。
不过,opensuse提供的下载软件包没有dubuginfo,这步排查暂时放弃。后续我实际是通过自己编译源代码来完成部署( :ref:`build_glusterfs_6_for_suse_12` )。

参考
======
Expand Down
2 changes: 1 addition & 1 deletion source/gluster/deploy/suse/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ SUSE平台GlusterFS部署

deploy_sles15sp4_gluster11_client.rst
deploy_sles12sp5_gluster11_client.rst
deploy_suse_gluster_client_old.rst
deploy_sles12sp3_gluster4_client.rst

.. only:: subproject and html

Expand Down
35 changes: 32 additions & 3 deletions source/gluster/performance/gluster_tunning.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@
GlusterFS性能优化
===================

说明
对比
=====

:ref:`deploy_centos7_suse15_gluster11` 后,我简单测试了一下写入性能,选择了客户端上的 ``/usr`` 目录(1.9GB,大约6.24w文件)复制到GlusterFS卷::
软件版本都是 GlusterFS 11 ,区别是操作系统和内核

CentOS7.2服务端/SuSE15.5客户端
--------------------------------

:ref:`deploy_centos7_suse15_suse12_gluster11` 后,我简单测试了一下写入性能,选择了客户端上的 ``/usr`` 目录(1.9GB,大约6.24w文件)复制到GlusterFS卷::

# time cp -R /usr/ /data/backup

Expand All @@ -21,12 +26,36 @@ GlusterFS性能优化

再次部署了一个集群,区别是服务器端内核从 ``3.10`` 升级到 ``4.19`` ,此时启用了 ``xfs`` 的 v5版本(支持CRC),同样复制 ``/usr`` 目录,略微快一点点::

# time cp -r /usr /mqha/supergwmuamqha/
# time cp -r /usr /data/backup

real 2m48.185s
user 0m0.846s
sys 0m4.515s

CentOS7.2服务端/SuSE12.5客户端
--------------------------------

再次部署 :ref:`deploy_centos7_suse15_suse12_gluster11` ,同样复制客户端 ``/usr`` 目录(1.9GB,大约6.24w文件)复制到GlusterFS卷::

# time cp -R /usr/ /data/backup

real 4m9.248s
user 0m1.146s
sys 0m8.926s

删除文件::

# time rm -rf /data/backup/usr

real 1m58.413s
user 0m0.227s
sys 0m1.779s

初步结论
---------

操作系统对GlusterFS性能的影响较大,明显看到客户端从 SuSE 12 (kernel 4.12) 升级到 SuSE 15 (kernel 5.14),大约能够获得 30% 的性能提升。推测操作系统的内核默认参数也有一些优化,所以推荐采用新版本操作系统。

优化思路
==========

Expand Down
12 changes: 12 additions & 0 deletions source/kernel/ebpf/bpftrace.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _bpftrace:

============
bpftrace
============

``bpftrace`` 是高级跟踪语言,适用于Linux内核4.x以上提供的Linux :ref:`ebpf` 数据包过滤器。 ``bpftrace`` 使用LLVM最为后端,将脚本编译为BPF字节码,并利用BCC与Linux BPF系统交互,就像现有的Linux跟踪能力:内核动态跟踪(kernel dynamic tracing, kprobes),用户级动态跟踪(user-level dynamic tracing, uprobes)以及 tracepoints。 ``bpftrace`` 语言的灵感来自 awk 和 C,以及 DTrace和SystemTap等跟踪器。

参考
=====

- `bpftrace (GitHub) <https://github.com/iovisor/bpftrace>`_
1 change: 1 addition & 0 deletions source/kernel/ebpf/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ eBPF
:maxdepth: 1

intro_ebpf.rst
bpftrace.rst
ebpf_arch.rst
ebpf_in_action.rst
replace_iptables_with_ebpf.rst
Expand Down
1 change: 1 addition & 0 deletions source/kernel/memory/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Linux内存管理

linux_mmu.rst
slab_allocator.rst
pgfault.rst
huge_memory_pages/index
numa/index
valgrind/index
Expand Down
13 changes: 13 additions & 0 deletions source/kernel/memory/pgfault.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.. _pgfault:

========================
Page Fault
========================

参考
======

- `Understanding page faults and memory swap-in/outs: when should you worry? <https://scoutapm.com/blog/understanding-page-faults-and-memory-swap-in-outs-when-should-you-worry>`_
- `Understanding and troubleshooting page faults and memory swapping <https://www.site24x7.com/learn/linux/page-faults-memory-swapping.html>`_
- `What is the exact difference between the parameters (pgpgin, pswpin) and (pswpout, pgpgout) in /proc/vmstat? <https://superuser.com/questions/785447/what-is-the-exact-difference-between-the-parameters-pgpgin-pswpin-and-pswpou>`_
- `What is a page fault and why you should be aware of it? <https://www.learnsteps.com/what-is-a-page-fault-and-why-you-should-be-aware-of-it/>`_
2 changes: 0 additions & 2 deletions source/kubernetes/gpu/install_nvidia_gpu_operator_y-k8s.rst
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,6 @@ CUDA VectorAdd
Test PASSED
Done

.. _gpu_node_schedule_err_debug:

GPU节点调度异常排查
=====================

Expand Down
2 changes: 1 addition & 1 deletion source/kubernetes/monitor/signoz/intro_signoz.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ SigNoz简介

.. note::

``SigNoz`` 是一个完整的基于 :ref:`oepntelemetry` 的综合性解决方案,也是一个提供云服务的商业产品。 ``SigNoz`` 可以说是一个开箱即用的 :ref:`oepntelemetry` 实现,从 ``Traces + Metrics + Logs`` 实现来看,也可以拆解成 :ref:`jaeger` + :ref:`prometheus` + :ref:`fluentd` ,或者其他相似开源软件组合。
``SigNoz`` 是一个完整的基于 :ref:`opentelemetry` 的综合性解决方案,也是一个提供云服务的商业产品。 ``SigNoz`` 可以说是一个开箱即用的 :ref:`opentelemetry` 实现,从 ``Traces + Metrics + Logs`` 实现来看,也可以拆解成 :ref:`jaeger` + :ref:`prometheus` + :ref:`fluentd` ,或者其他相似开源软件组合。

``SigNoz`` 对标了闭源的 `DataDog <https://www.datadoghq.com>`_ 和 `New Relic <https://newrelic.com>`_

Expand Down
2 changes: 1 addition & 1 deletion source/kvm/kvm_vdisk_live.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ KVM虚拟机动态添加、调整磁盘

.. note::

我的这个案例实践是为了在 :ref:`suse_linux` 完成 :ref:`build_glusterfs_suse` :由于生产环境使用了非常古老的SLES 12 SP3,需要构建一个虚拟机环境来编译GlusterFS。由于编译环境需要安装SDK等iso环境软件包,我采用为虚拟机挂载一块独立磁盘来存储iso镜像。
我的这个案例实践是为了在 :ref:`suse_linux` 完成 :ref:`build_glusterfs_11_for_suse_12` :由于生产环境使用了非常古老的SLES 12 SP5,需要构建一个虚拟机环境来编译GlusterFS。由于编译环境需要安装SDK等iso环境软件包,我采用为虚拟机挂载一块独立磁盘来存储iso镜像。

磁盘初始化时候设置5G,显然这不够存储多个iso镜像。我在这里会演示如何动态扩展虚拟机磁盘。

Expand Down
2 changes: 1 addition & 1 deletion source/linux/ubuntu_linux/ubuntu_server.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Ubuntu Server
串口通讯
------------

物理服务器通常支持串口管理,可以通过 :ref:`ipmitool_tips` 实现远程管理和维护,但是需要操作系统内核配置。编辑 ``/etc/default/grub`` 设置::
物理服务器通常支持串口管理,可以通过 :ref:`ipmi` 实现远程管理和维护,但是需要操作系统内核配置。编辑 ``/etc/default/grub`` 设置::

GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto console=tty0 console=ttyS0,115200n8"

Expand Down
2 changes: 1 addition & 1 deletion source/performance/pcp/debug_pcp_high_network.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
排查PCP网络暴增异常
=======================

我在 :ref:`zcloud` 上尝试启用了不同的 ``pdca`` ,但是我突然发现自己的服务器出现了非常奇怪的网络流量暴增。
我在 ``zcloud`` 上尝试启用了不同的 ``pdca`` ,但是我突然发现自己的服务器出现了非常奇怪的网络流量暴增。

检查 ``top`` :

Expand Down
2 changes: 1 addition & 1 deletion source/real/prepare/phy_server_setup_old.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
服务器IPMI
===========

对于服务器管理,远程带外管理是最基本的设置,为服务器设置 :ref:`ipmitool_tips` 运行环境,可以让我们能够在系统异常时远程诊断、重启系统,并且能够如果连接键盘显示器一样对物理服务器进行操作。
对于服务器管理,远程带外管理是最基本的设置,为服务器设置 :ref:`ipmi` 运行环境,可以让我们能够在系统异常时远程诊断、重启系统,并且能够如果连接键盘显示器一样对物理服务器进行操作。

.. note::

Expand Down

0 comments on commit 7507d3b

Please sign in to comment.