搜尋此網誌
2017年3月12日 星期日
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
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")
依此類推
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 -
之後。登入 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 -
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 -
語法: mongod --dbpath DB資料匣 --repair --repairpath 修復後的DB資料匣
範例: mongod --dbpath /data/db --repair --repairpath /data/db0
修復期間,會在 DB資料匣 建立一個 mongod.lock 以防止 MONGO 服務啟動
修復完畢,會自動被刪除掉。
要注意的是,修復好的DB 必須要注意其擁有者權限是否被更動為 root 了
不然 MONGO 服務就會啟動失敗,一旦啟動失敗 立刻查看 LOG 最後的紀錄原因。
參考資料
- THE END -
訂閱:
文章 (Atom)