分类: 计算机 Computer

  • 安装并使用 xrdp 连接 ubuntu 桌面


    公司的电脑是 Windows 10, 不给管理员权限,什么都干不了。 在不买新电脑的前提下,只好通过远程连接到 AWS 的 Ubuntu 桌面上工作。 记录一下安装方法。

    环境

    – AWS
    – Ubuntu 18.04
    (更多…)

  • Namespace 在 Kernel 里是怎么实现的?以 mount namespace 为例


    有很多文章都介绍了在应用层面怎么调用 CLONE 的参数来进行 namespace 隔离,于是好奇 namespace 在 kernel 层面是怎么实现的,比如 kernel 需要做哪些改动来提供 namespace 的功能。


    应用层面进行namespace隔离的方法

    对于应用程序,例如 docker, 可以通过调用 clone(), unshare(), setns() 来对 namespace 进行操作。Coolshell 有几篇通俗易懂的文章可供详细了解[1].
    (更多…)

  • EC2两张网卡连接两个子网,分别关联EIP,其中一个EIP ping不通,怎么办?

    问题


    – 一个有两张网卡的 EC2 instance (RHEL7.5),每个网卡分别对应一个public subnet, 每个网卡也关联一个 Public IP.
    – 从其他网络 ping 这两个 IP 地址,发现其中一个IP能ping通,另一个IP不能ping通。
    [cc lang=”text”]
    [ec2-user@ip-172-31-30-14 ~]$ ping 52.80.82.70 -c2
    PING 52.80.82.70 (52.80.82.70) 56(84) bytes of data.
    64 bytes from 52.80.82.70: icmp_seq=1 ttl=63 time=1.71 ms
    64 bytes from 52.80.82.70: icmp_seq=2 ttl=63 time=1.80 ms

    [ec2-user@ip-172-31-30-14 ~]$ ping 52.81.2.166 -c2
    PING 52.81.2.166 (52.81.2.166) 56(84) bytes of data.

    — 52.81.2.166 ping statistics —
    2 packets transmitted, 0 received, 100% packet loss, time 1004ms
    [/cc]

    (更多…)

  • 程序中如何屏蔽 Ctrl-C (SIGINT) 信号?

    执行“sl”命令会出现一个“跑火车”的程序,用以惩罚把“ls”写错的用户。
    (更多…)

  • How to build a cman + rgmanager cluster environment in KVM

    Below are the steps to build a simple cman + rgmanager based cluster environment in KVM. I write down the steps for future reference. Check https://feichashao.com/pacemaker/ for building pacemaker environment (Chinese edition).
    (更多…)

  • typedef boost::function my_func 是什么玩意?

    声明:以下内容纯属瞎编。

    背景

    有人问下面的一行代码是什么鬼:
    [cc lang=”C++”]
    typedef boost::function* ips)> ResolveFn;
    [/cc]
    我也不知道啊,但是要百度一下装得自己知道的样子。这玩意其实是定义一种函数的类型。
    (更多…)

  • agetty 是做什么的?

    有时候在 “ps aux” 命令的输出中,可以看到以下进程:
    [cc lang=”text”]
    /sbin/agetty –noclear tty1 linux
    [/cc]
    这个进程是怎么来的?
    (更多…)

  • rt_sigtimedwait() 使用示例

    问题

    用户反映某备份软件要花费4-7分钟才能连接上,然后从 strace 中看到 rt_sigtimedwait 这个系统调用耗用了将近3分钟。
    [cc lang=”text”]
    777 09:28:20.256729 rt_sigtimedwait([INT QUIT TERM XCPU XFSZ PWR], NULL, NULL, 8
    777 09:30:55.672016 <... rt_sigtimedwait resumed> ) = 2 <155.415104>
    [/cc]
    为什么 rt_sigtimedwait 会消耗大量时间呢?
    (更多…)

  • 在RHEL6搭建 LVS Load Balancer

    环境

    简单的LVS架构 来源: redhat.com

    feichashao_RHEL610_real-server-0 192.168.122.152
    feichashao_RHEL610_real-server-1 192.168.122.9
    feichashao_RHEL610_lvs_router 192.168.122.146

    VIP: 192.168.122.108

    在这个环境中,有一个 LVS router 和两个 Real Server. LVS Router 负责把流量转发到 Real Server 中, Real Server 是真正处理请求的。
    (更多…)

  • 存储进行迁移,Linux层面需要做什么?

    背景

    系统使用了 Multipath + LVM 给应用提供存储。现在存储方面需要做迁移,要把 LUNs 迁移到其他阵列上。存储层面会通过做 Mirror 的方式,在新的位置创造出数据一致的 LUNs.

    这种情况下,Linux 操作系统层面需要做哪些操作来配合? 应用可以down,但是系统不允许重启。

    步骤

    因为不能重启,为了尽可能减少风险,需要首先从文件系统,LVM, multipath 层面进行清理原有磁盘,存储层面迁移后,再重新扫描新的磁盘、multipath、LVM.
    (更多…)