搜尋此網誌

2017年3月20日 星期一

改善 CheckMK 提醒的 ntpq -p 問題

以下快速安裝與設置步驟:

yum -y install ntp.x86_64
chkconfig ntpd on
ntpdate time.stdtime.gov.tw
systemctl start ntpd
date


- The End -

2017年3月11日 星期六

修復損壞的 Centos VM

這裡是指 VM Workstation 的檔案格式

1.
先以另一獨立的 centos 開機,並將有問題的 vm disk mount
設定成另一個磁碟機之後,啟動開機

2.
lvscan 條列出有哪些 LVM GROUPS

3.
取消該 GROUP 的活動
vgchange -a n my_volume_group

4.
掃描與修復
xfs_repair -L /dev/sdb

接下來必須耐心等待掃描修復整顆 disk
畫面上可能會看到
...found candidate secondary superblock...unable to verify superblock, continuing.....
很恐怖... 不知道是否能修復成功...


5.
復原該 GROUP 的活動
vgchange -a y my_volume_group


2017年3月10日 星期五

Mongodb 建立有 security 機制的同步備份設定

第1步最重要, DNS 沒有設定合理, 同步備份就無法開始。Primary主機就找不到 Member

1. 每台電腦都必須 setup hostname and dns record
vi /etc/hosts
add IP and domain name

2. 每台電腦都必須
echo "syncme" > /etc/mongod.key
chown mongod:mongod /etc/mongod.key

3. 每台電腦都必須
vi /etc/mongod.conf

security:
  authorization: enabled
  keyFile: /etc/mongod.key

replication:
  oplogSizeMB: 10240
  replSetName: rs1

systemctl restart mongod


4. 回到 Primary 主機上
mongo --authenticationDatabase=admin -u root -p password --host 127.0.0.1

初使化 replSet
rs.initiate()

確認
rs.status()
會看到PRIMARY字眼,表示初始化完成

加入第2台DB
rs.add("192.168.1.2:27017")
加入第3台DB
rs.add("192.168.1.3:27017")
依此類推


- The End -

2017年3月8日 星期三

在 VMWARE Workstation 環境下 Linux VM 如何不必重新開機增加硬碟

先在 WORKSTATION 下,新增一個虛擬硬碟
之後。登入 OS

步驟:
1. 先到 /sys/class/scsi_host/
查看 host的最後一個數字是多少

2.然後將數字填入以下的#
echo "- - -" > /sys/class/scsi_host/host#/scan

3.查看OS是否已經看到硬碟,例如 /dev/sdb
fdisk -l

4.準備建立分割
fdisk /dev/sdb

5.查看分割是否成功,例如出現 /dev/sdb1
fdisk -l

6.格式化
mkfs.ext4 /dev/sdb1

7.編輯 vi /etc/fstab
最末端加入以下,使開機能自動 mount
/dev/sdb1               /mnt/vdisk2             ext4    defaults        0 0

8.重新開機後,下 df -h
檢視有無出現以下,如果有便 mount 成功完成。
/dev/sdb1

- The End -

CentOS下用 rinetd 做 port forwarding

Windows下的 port forwarding 一般用的是自带的 nat 和 porttunnel、portmap
Linux 下透過 rinetd
工具主页: http://www.boutell.com/rinetd/
安裝步驟:

mkdir rinetd
cd rinetd
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar zxvf rinetd.tar.gz
cd rinetd
cp rinetd.c rinetd.c.bak
sed -i 's/65536/65535/g' rinetd.c
make
make install

如果有發生錯誤訊息,就依提示建立目錄後,重新make install
完畢。

設定範例:
把 1.1.1.1 的 11 PORT映射到 2.2.2.2 的 3389 ,設定文件如下
vi  /etc/rinetd.conf

1.1.1.1 11 2.2.2.1 3389
1.1.1.1 12 2.2.2.2 3389
1.1.1.1 13 2.2.2.3 22
1.1.1.1 14 2.2.2.4 80
allow *.*.*.*
logfile /var/log/rinetd.log

存檔離開後,啟動步驟:
pkill rinetd
rinetd -c /etc/rinetd.conf

查看執行狀態
netstat -antup


--- 阿里雲 Windows 方式 範例 ---
1. 開啟 CMD

2. netsh interface portproxy add v4tov4 listenaddress=ECS服务器的公网IP地址 listenport=3717 connectaddress=云数据库MongoDB的连接地址 connectport=3717

3. netsh interface portproxy add v4tov4 listenaddress=ECS服务器的公网IP地址 listenport=3717 connectaddress=云数据库MongoDB的连接地址 connectport=3717

4. 要查看當前的映射:
netsh interface portproxy show all

5. 要删除不需要的映射:
netsh interface portproxy delete v4tov4 listenaddress=ECS公网服务器的公网IP地址 listenport=3717


6. 要驗證:
在本地 MongoDB shell 连接 ECS Windows 服务器后进行数据写入和查询验证,ECS Windows 服务器的 IP 是1.1.1.1,即 telnet 1.1.1.1 3717



- The End -

2017年3月4日 星期六

mount cifs


mount -t cifs -o username="Username",password="Password" //IP/share /mnt/smb


umount /mnt/smb


- The End -

2017年3月3日 星期五

以 mongod --repair 修復DB資料

先停止 mongod 的服務,

語法: mongod --dbpath DB資料匣 --repair --repairpath 修復後的DB資料匣

範例: mongod --dbpath /data/db --repair --repairpath /data/db0


修復期間,會在 DB資料匣 建立一個 mongod.lock 以防止 MONGO 服務啟動
修復完畢,會自動被刪除掉。
要注意的是,修復好的DB 必須要注意其擁有者權限是否被更動為 root 了
不然 MONGO 服務就會啟動失敗,一旦啟動失敗 立刻查看 LOG 最後的紀錄原因。


參考資料

- THE END -


搜尋此網誌