臥薪嘗胆

インフラエンジニアのあれこれ

今更ながら、Port vlanの構成image を(過不足あればお教えください)

                                        port vlan image

        ┌─────────────────────────────────────────────────────────────────────────────────┐
        │ ┌─────────────────────────────────────┐ ┌─────────────────────────────────────┐ │
        │ │               VLAN100               │ │               VLAN999               │ │
        │ │             port 1 ~ 4              │ │             port 5 ~ 8              │ │
        │ │                                     │ │                                     │ │
L2      │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │
        │ │ │      │ │      │ │      │ │      │ │ │ │      │ │      │ │      │ │      │ │ │
        │ │ │port 1│ │port 2│ │port 3│ │port 4│ │ │ │port 5│ │port 6│ │port 7│ │port 8│ │ │
        │ │ │      │ │      │ │      │ │      │ │ │ │      │ │      │ │      │ │      │ │ │
        │ │ │      │ │      │ │      │ │      │ │ │ │      │ │      │ │      │ │      │ │ │
        │ │ └───┬──┘ └───┬──┘ └───┬──┘ └───┬──┘ │ │ └───┬──┘ └───┬──┘ └───┬──┘ └───┬──┘ │ │
        │ └─────┼────────┼────────┼────────┼────┘ └─────┼────────┼────────┼────────┼────┘ │
        └───────┼────────┼────────┼────────┼────────────┼────────┼────────┼────────┼──────┘
                │        │        │        │            │        │        │        │       
            ┌───┴──┐ ┌───┴──┐ ┌───┴──┐ ┌───┴──┐     ┌───┴──┐ ┌───┴──┐ ┌───┴──┐ ┌───┴──┐    
            │      │ │      │ │      │ │      │     │      │ │      │ │      │ │      │    
PC          │ PC 1 │ │ PC 2 │ │ PC 3 │ │ PC 4 │     │ PC 5 │ │ PC 6 │ │ PC 7 │ │ PC 8 │    
(server)    │      │ │      │ │      │ │      │     │      │ │      │ │      │ │      │    
            │      │ │      │ │      │ │      │     │      │ │      │ │      │ │      │    
            └──────┘ └──────┘ └──────┘ └──────┘     └──────┘ └──────┘ └──────┘ └──────┘    

port vlan はL2 switchの複数portを一つのNWに設定する手法の一つ

Monodrawというツール買ったので使いたくてblogに投稿

初めてイベントで話してきました

京都に行けたので幸せでした。
私の不手際によって2泊3日。
フリーな時間はingressしまくって、メダル3つ獲得しました。

で、イベントは以下です。

いやー。緊張しました。

話した内容は以下です。

speakerdeck.com

こういったイベントに参加させて頂いて、自信がつきました。
これまで外に出ていくことを積極的にできていなかったので、
自分たちのやってること(業務)が

  • 世の中的にイケてるのか?
  • 正しそうな方向を向いているか?

みたいなことを確認する場がなかなか無かったんですが、道が見えた気がします。

また表に出ることのメリットは語り尽くされてると思いますが、
人のつながりを作ることができたという点がとても大きかったと思います。

また所属チームにもどって、切磋琢磨して代表に選ばれるように頑張ります。

mysql5.6以降の初期パスワードについて

mysql5.6?くらいから、mysqlのデフォルトパスワードがmysqlに事前に設定されてる。

なので初期ログイン時はファイルから拾う必要があるが、mysqlを再構築する場合はどのファイルにパスワードが書かれるのかわかんなかったが、マニュアルを調べてみると

--random-passwords

なるオプションが追加されてて、これつけて実行するとカレントディレクトリに、

.mysql_secret

ってファイルができて、そこから初期パスワードを拾う。

cd ~
/bin/rm -rf /var/lib/mysql
/usr/bin/mysql_install_db --basedir=/usr --datadir=/var/lib/mysql --random-passwords
chown -R mysql:mysql /var/lib/mysql
chmod 755 /var/lib/mysql
cat ~/.mysql_secret

CentOS7でvncを起動させろ

前提条件

  • firewalld おとしとく
  • SELinux無効しとく

あとはここからやっていくと出来た。 深いところは調べてない・・・

install

yum groupinstall "GNOME Desktop"
yum install tigervnc-server.x86_64

rootユーザーでやった

vncpasswd

/root/.vnc/xstartup を編集 おまじないっぽいので、時間のあるときに調べとこう

#!/bin/sh

xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
exec gnome-session &

vncserver起動

vncserver
vncserver -list

vncserver停止

# display 番号を渡す
vncserver -kill :1

接続はいつもの、[Chicken of the VNC]で!

mysqldumpはこうした方がいいね(オンラインでバックアップの場合)

オンラインでバックアップを取る必要がある場合はロック出来ないので以下で!

  • dump取得後にgzip圧縮もしてる
  • --result-file=file_name, -r file_nameこのオプションで出力を指定していると、エラーが起きた場合、ファイルが空で作成されるのでおすすめしない。
DB=fuga
MYSQL_PWD=password
mysqldump -h example.jp -u hoge --force --single-transaction --quote-names --default-character-set=binary --compress --add-drop-database --add-drop-table --databases $DB --log-error=$DB.log | gzip > $DB.gz

iptables あれこれをここに記す

  • 行番号を表示

    /sbin/iptables -L -nv --line-number

  • 行番号でルールを削除

    /sbin/iptables -D INPUT "$NUM"

  • stringで弾く

    /sbin/iptables -I INPUT -p tcp -m string --string "www.hoge.com" --algo bm --dport 80 --to 128 -j REJECT

rsync すごい(既存のoptionに便利なのがあった。賢い)

hard linkでバックアップを世代管理

  • rsync差分バックアップを取ろうにも
    • 容量の問題
    • I/O負荷
    • NW負荷(サーバ間の場合)に直面すると思いますがこれでまるっと解決!

test.sh

#!/bin/bash

# delete oldest backup
if [ -d test_bk10 ] ;then
    /bin/rm -rf test_bk10
fi

# backup dir rename(lotate)
for i in 9 8 7 6 5 4 3 2 1 0;do
    if [ -d test_bk"$i" ] ;then
        l=`expr $i + 1`
        mv test_bk$i test_bk$l;
    fi
done

# submit backup
rsync -avzP --delete --link-dest=../test_bk1 test/ test_bk0

rsyncのoption説明

    -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
    -v, --verbose               increase verbosity
    -z, --compress              compress file data during the transfer
    -P                          same as --partial --progress
                                でかいサイズのファイルをrsyncで転送中に中断した場合、その後に再開すると中断後から行ってくれる!
    --link-dest=DIR
                                This  option  behaves  like  --copy-dest, but unchanged files are hard linked from DIR to the destination directory.  The files must be identical in all preserved attributes
                                (e.g. permissions, possibly ownership) in order for the files to be linked together.  An example:
                                DIR は例の場合の「test_bk0」の相対パスを入力しないといけない。
  • 考慮点・足りない点
    • 世代管理は日付でやる予定
    • renameももっとかっこよく出来る?
    • rsyncのエラーハンドリングは必須