Author: jpuyy

  • 将 bitbucket 迁移到 github

    先装 bitbucket 中的 origin 命名成 bitbucket

    git remote rename origin bitbucket

    在 github 添加 origin

    git remote add origin https://github.com/username/myproject.git

    将 master 发上去

    git push origin master

    将 bitbucket 删掉

    git remote rm bitbucket

    在这里操作可以查看 .git/config 中的变化

    http://www.blackdogfoundry.com/blog/moving-repository-from-bitbucket-to-github/

  • 快速从一台机器同步目录到另一台机器

    使用 pigz nc tar 组合命令完成

    发送方( pigz -4 代表压缩等级)

    tar c 20151014 | pigz -4 | nc -l 3389

    接收方

    nc 192.168.1.55 3389 | pigz -d | tar xf -
  • nginx高并发请求 nfs 上的文件导致死掉

    并发 3000 左右,请求 nfs 上的共享文件,现象和下面描述的一模一样

    https://trac.nginx.org/nginx/ticket/797

    解决办法是:

    不用 nfs

    或在 nfs 上搭 http 服务,前端 proxy_pass 过去

  • dd硬盘克隆

    有两块 500G 的 2.5 寸盘,想把一块盘 (有系统和各种数据) 中的数据完全克隆到另外一块盘。

    先用 live cd 启动。识别到分别为 sdc, sda

    然后使用

    dd if=/dev/sdc of=/dev/sda bs=32M

    500G 的内容用了6295.12s,平均 79.4MB/s

    比重装系统和拷文件快多了

     

  • xfs 分区

    要使用 xfs 文件系统,先分区,后格式化

    安装 xfs 套件

    yum install xfsprogs

    通过 fdisk 或 parted 进行分区

    parted /dev/vdb
    (parted) print                                                            
    Error: /dev/vdb: unrecognised disk label
    Model: Virtio Block Device (virtblk)                                      
    Disk /dev/vdb: 1563GB
    Sector size (logical/physical): 512B/512B
    Partition Table: unknown
    Disk Flags: 
    
    parted /dev/vdb
    mklabel gpt
    mkpart primary xfs 0% 100%
    print
    quit
    
    

    自动脚本 auto_parted.sh

    parted /dev/vdb << EOF
    mklabel gpt
    mkpart primary xfs 0% 100%
    print
    quit
    EOF
    

    格式化为 xfs

    [root@localhost ~]# mkfs.xfs /dev/xvdb1
    meta-data=/dev/xvdb1 isize=256 agcount=4, agsize=7864318 blks
    = sectsz=512 attr=2, projid32bit=0
    data = bsize=4096 blocks=31457270, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0
    log =internal log bsize=4096 blocks=15359, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0

    mkfs.xfs

    自动生成 fstab

    uuid=$(blkid -s UUID -o value /dev/sdb1)
    echo "UUID=$uuid /data                   xfs     defaults        0 0" >> /etc/fstab
    
  • 使用 etcd 做为 ansible inventory 数据源

    etcd 文档

    https://coreos.com/etcd/docs/0.4.7/etcd-api/
    https://github.com/oreh/simpletcd

    结构

    hostvars/12.34.56.78/redis_maxmemory => 4GB
    hostvars/12.34.56.78/hostname => abc.jpuyy.com

    输出

    [abc.jpuyy.com]
    12.34.56.78

    对应的变量是 redis_maxmemory = 4GB