搜尋此網誌

2017年1月20日 星期五

強制每次VM 開機都先進入BIOS設定畫面

vmx 檔案加入一行
bios.forceSetupOnce = "TRUE"


強制以 CDROM 開機則加入這一行
bios.bootOrder = "CDROM"


2017年1月18日 星期三

透過 Backup & Restore 加速 elasticsearch

直接將一台已經建立好索引的 ES,透過 FTP 方式將 NODE 資料,整個複製到一台新ES上,然後立刻讓新的 ES 能夠工作,一種人工手動複製的方法,適合實驗環境:

1. 先將 新ES 的服務停止:

2. 找出 源頭ES 的 NODE 資料,一般是指這個資料匣: /var/lib/elasticsearch/elasticsearch

然後將 elasticsearch 資料匣複製到 新ES上的
/var/lib/elasticsearch/

3. 啟動 新ES 的服務,並觀察 elasticsearch.log 內容

這樣就結束。


另外,以下是處理索引倉庫的部分, 僅參考用
在已經安裝好ES 的新機上
1. 備份 /var2/es_backup
2. 刪除 /var2/es_backup
3. 創建 /var2/es_backup
4. 改變 owner
chown -R elasticsearch:elasticsearch /var2/es_backup

5. 改變屬性
chmod -R 777 /var2/es_backup
chmod +t /var2/es_backup

6. 將資料FTP過來
7. 檢查
curl -XGET "localhost:9200/_snapshot/es_backup/_all"

8. 準備復原資料

curl -XPOST "localhost:9200/_all/_close"

curl -XPUT localhost:9200/_cluster/settings -d '{
"persistent" : {
"cluster.routing.allocation.node_concurrent_recoveries" : "5"
}
}'

curl -XPUT localhost:9200/_cluster/settings -d '{
"persistent" : {
"indices.recovery.max_bytes_per_sec": "200mb",
"indices.recovery.concurrent_streams": 5
}
}'

curl -XPOST "localhost:9200/_snapshot/es_backup/20170101/_restore?wait_for_completion=true"


- The End -

解決在巢狀虛擬機環境下 Geust VM 網路無法連外的問題

參考很重要的一篇文章

解決 Geust VM 在 Nested ESXi 網路無法連外的問題

在 ESXi 裡面的 vSwitch/Port group 安全性設定找到:
Promiscuous mode: 預設是 Reject (off)
MAC Address Changes 預設是 Accept (on)
Forged Transmits 預設是 Accept (on)

必須將這三個設定值都設成 Accept 才行。

- The End -

在Linux 查出Process ID 並作處置

作業系統重新開機後,所安排自動執行的 process id 每次都不同
所以透過以下指令,可以查出來並安排後續處理,
例如,找出 hgtask 這個 process 的 id:

ps ax | grep hgtask | awk '{print $1}' | head -1 > /tmp/hgtask_id
ID=`cut -c 1-6 /tmp/hgtask_id`
echo "HGTASK Process ID:"$ID

就會得到一個數字,後續處理上
例如,對該數字查出總共產生了多少個執行緒數量:

cat /proc/$ID/status | grep Threads > /tmp/hgtask_threads
Num=`cut -c 9-18 /tmp/hgtask_threads`
echo "HGTASK TotaL Threads:"$Num

就會得到一個數字,後續就看怎麼安排處理。

參考

- The End -




2017年1月9日 星期一

升級 xampp 的 phpmyadmin

因為 phpmyadmin 被發現了嚴重的 phpmyadmin CVE-2016-6617
(參考 RedHat 公司的建議
https://bugzilla.redhat.com/show_bug.cgi?id=1399197

1. 升級 phpMyadmin 之前,先備份phpMyadmin裡面的config.inc.php 之後,在將檔案複製到新版本的 phpMyadmin 裡面

2.到官網來最新版 phpMyadmin

Done


查看 elasticsearch 記憶體的設置是否生效

su elasticsearch --shell /bin/bash --command "ulimit -a"

安裝好 elasticsearch 要記得去調整記憶體限制
nano /etc/security/limits.conf

加入以下
# allow user 'elasticsearch' mlockall
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited


2017年1月5日 星期四

MongoDB 3.x 啟用連線認證

先參考
https://scalegrid.io/blog/configuring-mongodb-cr-authentication-as-default-on-mongodb-3-x/

以及這篇 另外 Bugj問題這篇(MongoDB - admin user not authorized)


先新增管理員

切換到admin資料庫
use admin

新增使用者
db.createUser(
   {
     user: "superuser",
     pwd: "xxxxxxxxxx",
     roles: [ { role: "root", db: "admin" } ]
   }
)

新增唯獨權限的使用者 將來管理方便
use admin
db.createUser(
   {
     user: "reader",
     pwd: "reader1234567",
     roles: [ { role: "readAnyDatabase", db: "admin" } ]
   }
)

啟用 MongoDB 的帳密連線
vi /etc/mongod.conf

security:
  authorization: enabled

然後重啟
systemctl restart mongod 


還沒結束!!!
因為Mongodb 啟用連線認證之後,所以備份的資料結構都改變了,
如果另一台MongoDB不調整認證方式,會導致資料恢復失敗,所以:

連線進去
mongo --authenticationDatabase=admin -u superuser -p xxxxxxxxxx 

執行以下指令:
db.adminCommand({authSchemaUpgrade: 1});

確認出現 OK 的提示之後,日後進行 Data Restore 才不會出現以下
the users and roles collections in the dump have an incompatible auth version with target server: cannot restore users of auth version 5 to a server of auth version 3

官方文件參考

- The End -

搜尋此網誌