發表文章

目前顯示的是有「GNU/Linux」標籤的文章

Enabling the InnoDB File-Per-Table tablespaces and migrate the MySQL database for Zabbix 3.2.6 on CentOS 7

As the Zabbix Ops , we want to split the large ibdata1 file , so than we can reduce the obsolete data like history_uint table . [ jonny @zabbix-server ~ ] $ ls -lh /var/lib/mysql/ [Enter] total 16G -rw-rw---- 1 mysql mysql 16K Aug 15 10:36 aria_log.00000001 -rw-rw---- 1 mysql mysql 52 Aug 15 10:36 aria_log_control -rw-rw---- 1 mysql mysql 15G Aug 15 12:45 ibdata1 -rw-rw---- 1 mysql mysql 5.0M Aug 15 12:45 ib_logfile0 -rw-rw---- 1 mysql mysql 5.0M Aug 15 12:45 ib_logfile1 drwx------ 2 mysql mysql 4.0K Aug 15 10:36 mysql srwxrwxrwx 1 mysql mysql 0 Aug 15 10:44 mysql.sock drwx------ 2 mysql mysql 4.0K Aug 15 10:36 performance_schema drwx------ 2 mysql mysql 6 Aug 15 10:36 test drwx------ 2 mysql mysql 8.0K Aug 15 13:59 zabbix ▲ We can see the ibdata1 filesize is very large.

簡單易用的 Zabbix 監控服務

圖片
上週六 (05/26),是 DevOps Taiwan 的社群日。這次「 Monitoring Tools 大亂鬥 」一共邀請了 11 位講者,從 雲端運算 (Cloud Computing) 的 AWS , Azure , GCP ,和 自由軟體 (Free Software) 的 Consul , ELK , Nagios , Prometheus , Zabbix 等各種監控工具來探討 CALMS 的 監控 、 量測 和 建立回饋機制 等關鍵議題。 感謝益師益友 Cheng-Wei Chen 的邀請,讓凍仁能代表 Zabbix 上台分享。這 15 分鐘的分享,主要以 Zabbix 的基礎觀念、系統架構等入門知識為主,然後用 Dockerize 的 Zabbix 進行簡單的 demo,最後補充些實戰經驗。 ▲ 凍仁於 05/26 DevOps Taiwan 分享的 Zabbix 入門簡報。由於 Zabbix 現在就如同凍仁的 眼 ,無時無刻幫團隊的大家看照數百的伺服器,故這次選了 eyes 的 cowsay 意像圖。

Install the Vim 8.0 and YouCompleteMe with Make on CentOS 7.3

圖片
As a vimmer , I want to complete and install the Vim 7.4.1578+ at ~/.local , so than I can use the YouCompleteMe plugin on CentOS 7.3 . ▲ The Vim 8.0.1522 on CentOS 7.3.1611.

DevOps 人一定要知道的持續交付技巧 - Ansible & GitLab CI 實戰演練工作坊

圖片
凍仁前後分享過兩次 DevOps 人一定要知道的 Ansible & GitLab CI 持續交付技巧 的技術分享後,有個謎之音問到:「不如挑戰看看工作坊 (Workshop) 吧?這主題都可以講上一天了呢!」,又因持續交付 (Continuous Delivery) 的主題很廣,便前後答應 新竹數位海洋 ( DigitalOcean Hsinchu ) 和台南酷學園 ( Study-Area Tainan) 邀約,踏上了北中南巡迴分享的旅途。 ▲ 凍仁於 Agile Tour Taichung 2017 上台分享的第 5 版簡報。

firewalld - CentOS 7 的動態防火牆

如同先前在 [完全用 GNU/Linux 工作] 07. 簡易的防火牆 一文提到,Ubuntu 從 8.04 LTS 開始多了 ufw 這個簡單的防火牆,CentOS 也在 7.0 導入可以動態管理防火牆的 firewalld 。Weithenn 前輩的 CentOS 7.3 基礎設定 (10) - 調整 Firewalld 防火牆規則 一文很好的解說了 firewalld 與 iptables 的差異,想深入了解的伙伴不妨參考一下。 firewalld 還有個跟 Windows 7 類似的 網路共用設定 機制,在官方文件中是使用 界域 1 (zone) 來敘述這項依據不同環境所設計的網路區域功能。我們可以藉由在各種不同的 zone 進行設置,來達到公開網域 (public network zone) 不開 ssh 埠口,而內部網域 (internal network zone) 則允許等較複雜的信任等級配置。這部份凍仁還未深入研究,在此就不多加說明。

如何在 CentOS 7 解決 glibc 的 yum 套件相依性問題

這週凍仁接到一個需要幫 CentOS 7 部署 OpenLDAP client 的任務。過程中,總是有一兩台 server 會遇到 glibc 相依性問題,並為此煩惱。如果是所有的 server 都有同樣的問題還好解決,最麻煩的就是遇上這種時好時壞的情形。 [ jonny @centos7 ~ ] $ sudo yum install nss-pam-ldapd [Enter] ... 1 --> Finished Dependency Resolution 2 Error: Package: glibc-2.17-157.el7_3.1.i686 (internel-upadte) 3 Requires: glibc-common = 2.17-157.el7_3.1 4 Installed: glibc-common-2.17-157.el7_3.2.x86_64 (@updates) 5 glibc-common = 2.17-157.el7_3.2 5 Available: glibc-common-2.17-105.el7.x86_64 (internel-base) 6 glibc-common = 2.17-105.el7 7 Available: glibc-common-2.17-106.el7_2.1.x86_64 (internel-upadte) 8 glibc-common = 2.17-106.el7_2.1 9 Available: glibc-common-2.17-106.el7_2.4.x86_64 (internel-upadte) 10 glibc-common = 2.17-106.el7_2.4 11 Available: glibc-common-2.17-106.el7_2.6.x86_64 (internel-upadte) 12 glibc-common = 2.17-106.el7_2.6 13 Available: glibc-common-2.17-106.el7_2.8.x86_64 (internel-upadte) 14 glibc-co

現代 IT 人一定要知道的 Ansible 自動化組態技巧 (3/e)

圖片
上上周 (2017/03/14) 參加完 Weithenn 前輩分享的 打造 Infrastructure Agility Mode 2 的基石 – Docker / Container 後,凍仁便於上周 (2017/03/21) 的 Tossug 分享些 Ansible 基礎入門,長年待在南部的凍仁可說是第一次站上 Tossug 和摩茲工寮的舞台呢! ▲ Automate with Ansible (Basic), 3/e

如何只更換特定鍵盤的 Ctrl 和 Caps Lock 鍵位? on Ubuntu 16.04

四年前,凍仁找到了對調 Ctrl 和 Caps Lock 的方法,並紀錄於「 對調 Ctrl 和 Caps Lock 鍵位 」一文,但使用 setxkbmap 指令操作時,會連外接不需更換鍵位的 HHKB Pro 2 也一併生效,害得凍仁每次都得重新插拔 USB 線來排除此問題;而現在我們只需透過 -device 參數即可對特定鍵盤進行操作。

如何將 Slack 的資料匯到 Rocket.Chat?

圖片
Rocket.Chat 是一套基於 Meteor.js 開發的開放源始碼 Chat 專案,有著 Slack like 的別名。在建置 Rocket.Chat server 的部份,凍仁曾試著用 Heroku 的方式建置,但只要一匯入 Slack 的資料 (data) 就會炸掉。最後是參考了文件中的 AWS / 7. Set up Docker Containers 的方式才可順利匯入資料。 回到主題,以下就讓凍仁介紹怎麼用 Slack 的 友站搬家工具 把資料搬到 Rocket.Chat 上吧!

Container Summit 2016 - 邁向下個 IT 架構的 Container

圖片
Container Summit 可說是聚集各界容器 (container) 專家,討論 container 次世代 IT 架構的研討會,會中有不少的話題圍繞在近來火紅的 Docker 技術上。想當初凍仁會開始接觸 Docker 也是聽到不少前輩在談論它的好,光是 可以對 Linux 系統環境進行版本控制 、 省下各種安裝 Linux 發行版本時間 這兩點就足夠吸引凍仁投資技能點數! 以下為凍仁這次參與的議題,大致可分為 容器叢集 (container cluster) 1 大亂鬥 、 資訊安全 (Security) 、 容器監控 (Monitoring) 和 企業導入經驗分享 等主題。 ▲ Container Summit 2016 官網看板圖。(圖片來源: iThome )

於 Debian 7 手動降版至 docker-engine 1.10.3

最近凍仁在 Debian 7 上升級 docker-engine 一直失敗,查看 error log 才得知 Docker 1.12.0+ 需使用 Linux Kernel 3.10.0+ 才行,但偏偏 apt 套件管理員還傻傻的把它給升上 1.12.1。若大家有相同的困擾就請先降版,再綁定 docker-engine 的版本吧! ▲ 2016/09/02 踩完雷後的凍仁碎碎唸。

現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows

圖片
今年,凍仁有幸接獲 Netman 前輩邀請,並擔任 SA 2016 群英會 的講者。想想凍仁也在 SA 1 學到了不少技術,總算可以報恩了! 這次凍仁是接續 sakana 前輩的 淺談 Ansible 自動化管理工具 之後分享 Ansible Role 和 Windows Support 。 ▲ My sildes of Automate with Ansible (Advanced) - Roles & Windows

現代 IT 人一定要知道的 Ansible 自動化組態技巧

圖片
愛上 Ansible 自動化組態的凍仁聽到五月份有 KaLUG 聚會 ,便自告奮勇說要分享 Ansible 的主題,這是凍仁自從報完 大學專題 後第二次在 KaLUG 分享 topic。 ▲ My sildes of Automate with Ansible (Basic)

使用 Vim 和 Vi Mode

對於一位熱愛 Vim 的 Vimmer 而言,可以在各個地方使用 Vim 是一件很幸福又可以增進產能的事,以下是凍仁常用的 Vim 小技巧。更多相關資訊請參考 Vim 系列相關文章。 我在高雄市 (台灣) 獲得了 Vim 餅乾的小禮物! I get the gift of ' #Vim biscuit' at #Kaohsiung City, #Taiwan . #VimTaiwan pic.twitter.com/CaPII8ibLf — 凍仁翔 (@chusiang_lai) February 7, 2016

於 Ubuntu 14.04 安裝 Docker 1.9.1+

圖片
Docker 是近幾年來很火紅的開放源始碼虛擬技術,雖說 Ubuntu 14.04 已有內建 Docker,但 v1.6.3 的 docker.io 似乎對私有的 (private) docker-regisrty 有些不相容,凍仁在此附上 Docker v1.9.1 的裝法。 圖片來源: Aurora Solutions 。

openSUSE Asia Summit 2015 - 臺北求學之旅

圖片
openSUSE Asia Summit 2015 看似是場屬於 openSUSE 社群的 conference,但對凍仁而言它同時也是一年一度的 Study Area (酷學園,以下將簡稱為 SA) 群英會 [註1] ,除了來自各地的 SUSE 講者外,還有一整軌 SA 的議程。從 openSUSE 的 HA 實作、gTLD (網域名稱)、機房建置、災難救援外,還有 GNU/Linux 最新的 systemctl 發展現況等介紹。 ▲ openSUSE Asia Summit 2015 大合照 (感謝 Daniel J. Lee 拍攝)。

找回 GNU/Linux 的 Calendar on Mac OSX 10.10

圖片
在 Mac OSX 10.10 雖有內建 cal 這個指令,但還是與 GNU/Linux 上的 cal 有些差別,由下圖可以很輕易的看出右方的 gcal 會標示現在的日期,這對已經使用 GNU/Linux 生活多年的凍仁而言可是很重要的呢! ▲ 左:OSX 內建的 cal 指令 (BSD License);右:使用 homebrew 安裝的 gcal (GNU License),且有當日標示。

手殘救星 - Git & GitHub

圖片
大約在 2015 年 3 月中旬,凍仁接到 mtchang 前輩來訊,並希望在下能至 NSYSUCM 自由軟體社群 分享跟 Git 和 GitHub 有關的主題,於是「手殘救星 - Git & GitHub 」問世了! ▲ My slides of Git and Github basic with SourceTree

sort - 排序指令

sort 是個很強大很的排序工具,而且通常還會搭配 sed, awk, head, tail, uniq 等工具來使用,話說 sort 本身可以做到依欄位排列的功能!相信透過各種參數的組合運用,可以讓攻程師們少寫幾行 code。 [ jonny @yosemite ~ ] $ history | awk '{print $2}' | sort | uniq -c | sort -nr | nl | less 1 1346 ls 2 726 cd 3 688 git 4 224 sdcv 5 219 vi 6 219 ssh 7 158 mv 8 154 cat 9 98 brew 10 92 host ▲ 透過以上指令,可以得知凍仁近來最常用的指令是 ls。

透過 Zabbix 監控 VPN (PPPoE) 狀態

圖片
    於某新公司重新出發的凍仁開始接手維護一套名為 Zabbix 的 GPL 網路監控系統 (詳情請參考 維基百科 )。既然與 Nagios 同是網路監控系統,相信它也可以用來監控某工作站上的 VPN 連線狀態。 內行人都知道 VPN 這玩意會斷線是家常便飯的 。     從剛接觸 Zabbix 到完成此任務凍仁花了兩天的時間,繞了一大圈後總算是對 Zabbix 的架構流程有些了解。以下為凍仁對 VPN (PPPoE) trigger 的筆記,相信能讓大家少走些冤枉路。