godleon bio photo

godleon

Leon Tseng

Email Facebook Google+ Github Youtube

All Posts

2017

AWS 學習筆記 - CloudFront

What is a CDN? A content delivery network(CDN) is a system of distributed servers(network) that deliver webpages and other web content to a user based on th...

2016

[Git] Cheat Sheet

The Basics # Create a Git repository in the current folder. $ git init # View the status of each file in a repository. $ git status # Stage a file for the...

[Git] Get Started with Git

介紹開始使用 Git 前調教 config 的相關資訊 初始化 Git Repository # 初始化 git repository [root@centos7 git-lab]# git init Initialized empty Git repository in /root/git/git-lab/...

[Linux KVM] libvirt & Storage

建立 & 使用 unmanaged storage 建立 unmanaged storage 是幫 VM 增加 virtual disk 最快的方式,其中有兩種作法: preallocated:效能好,但完全佔據磁碟空間 thin-provisioned:效能較差,...

[Linux KVM] libvirt & network

介紹如何使用 libvirt 來管理 KVM virtual network Overview 以下圖片來說明 libvirt 在整個虛擬化架構中所扮演的角色: 其中 other tools 的部份,甚至可以是 OpenStack、oVirt … 等工具 libvirt 的管理功能一共包含五個...

[Linux KVM] 半虛擬化驅動(Paravirtualization Driver)

介紹如何使用 QEMU/KVM 中的半虛擬化,並了解此技術如何帶來效能上的提升 QEMU I/O Overview QEMU/KVM 是屬於全虛擬化的解決方案,若沒有硬體加速輔助的情況下,所有的工作都必須透過軟體模擬,其實效率是很不好的,特別是 device I/O 的部分。 以下的圖可以說明純 QEMU ...

[Linux KVM] Linux KVM concept - Networking

此篇文章介紹學習 Linux KVM 時所需要了解的 Networking 相關知識 前言 現今的虛擬化技術中,網路的部分永遠都是比重相當高的一部分,許多大型的 service provider 透過網路提供各種不同的服務給使用者,讓使用者在 IT 科技的幫助下,生活更加便利。 也因為這樣,當網路發生故障時...

[Linux KVM] Linux KVM concept - Storage

此篇文章介紹學習 Linux KVM 時所需要了解的 Storage 相關知識 前言 在 Linux KVM 中,是由 QEMU 來提供 storage device 的模擬,可以模擬的 storage 類型很多,包含 IDE device / SCSI device / Floopy disk / USB ...

[Linux KVM] Linux KVM concept - Memory

此篇文章介紹學習 Linux KVM 時所需要了解的 Memory 相關知識 前言 Memory 在作業系統是用來暫時存放 cpu 要執行的指令以及資料,所有 process 都必須先載入到 memory 中才能正確執行。 而在虛擬化的環境中,virtual machine 中 memory 的使用是需要額...

[Linux KVM] Linux KVM concept - CPU

此篇文章介紹學習 Linux KVM 時所需要了解的 CPU 相關知識 前言 KVM 在 Linux x86 硬體平台上提供了全虛擬化(Full Virtualization)的 solution,透過 QEMU 的模擬,顯示特定數量的 CPU & 相關 feature 給使用者,而在支援 KVM 的...

[Linux] 如何加速 X11 Forwarding

當你只有一台虛弱的 Linux 筆電,但有一台強大的 server 時,有沒有辦法把 workload 放到 server 上減輕一下負擔阿…..??

RedHat RHCE7 學習筆記

RH124 Introduction Chapter 1. Accessing the Command Line Chapter 2. Managing File From the Command Line Chapter 3. Get...

2015

Docker 學習筆記 - Hello Dockerfile

撰寫第一個 Dockerfile 1、建立 Dockerfile & app.py Dockerfile 固定就需要將檔案命名為 **Dockerfile** FROM ubuntu:latest MAINTAINER Leon Tseng <godleon@gmail.com> R...

Docker 學習筆記 - 基本管理

資料管理 Data Volumes 掛載主機上的指定目錄(/tmp/webapp)到 container 的指定目錄(/webapp)上: # -P: 開放 container 所有開啟的 port $ sudo docker run -d -P --name web -v /tmp/webapp:/web...

Docker 學習筆記 - 基礎概念

安裝 docker docker 需要 3.13 版以上的 linux kernel docker Installation on Ubuntu docker group docker engine 安裝之後,會在系統中新增一個名為 docker 的 group,只有在這個 group 內的 us...

[OpenStack] 使用 Rally 進行 Benchmark

在此環境中,我們以 docker 作為安裝測試的環境: 安裝 docker $ sudo wget -qO- https://get.docker.com/ | sh 安裝完後可用以下指令驗證是否安裝成功: $ sudo docker run hello-world 在 docker 中安裝...

[OpenStack] 使用 Heat 快速驗證 OpenStack 環境

在這邊文章中,要透過 Heat 快速的建置出與 [OpenStack] 簡單驗證 OpenStack 環境的 script 這篇文章中相同的配置。 前置工作 在這邊我們只有一個前置工作必須完成,就是透過 Neutron client 建立一個對外的 network,語法如下: $ neutron net-c...

[OpenStack] Nova Network 簡介

Network Concept 目前 nova-network 僅支援透過 Linux Bridge 的方式連外。 nova-network 支援三種 network mode,分別是: Flat Network Manager Flat DHCP Network Man...

[Cluster] 在 Ubuntu 上安裝 RabbitMQ Cluster

前言 暨前一篇文章完成 DB cluster 之後,在 OpenStack 中還有一個很重要的服務需要保護,就是 Message Queue 的服務啦! 透過 Message Queue 的服務,就可以讓其他耗時的服務更方便的進行狀態的控制 & 管理。 一般安裝 OpenStack,在 Messag...

[Cluster] 在 Ubuntu 上安裝 Percona XtraDB Cluster

前言 其實研究這個 topic 是為了之後要把這個功能設定到 OpenStack 的環境之中而準備的~ XD 在 OpenStack 中資料庫是非常重要的一個服務,因此資料庫要有 HA 的保護自然也是不在話下。 Percona XtraDB Cluster HA 運作原理 要建置 Percona Xtra...

[Cluster] 在 Ubuntu 上安裝 MariaDB Galera Cluster

1、前言 因為工作上的需要,必須要建置一套 MySQL cluster,讓資料庫服務可以達成 HA(High Availability)。 找了一下目前比較通用的作法,目前有以下兩種可以選擇: MariaDB Galera Cluster Percona XtraDB C...

[Ansible] Include 使用介紹

前言 用了 ansible 一段時間後,您可能會遇到以下這些狀況: playbook 越寫越多,越寫越大 發現有許多重複性的設定 這時候也許就會考慮將容易重複利用的內容從 playbook 中拉出,獨立成一個個的小檔案,當有需要呼叫此內容時,再透過 **inclu...

[Vagrant] 同時客製化多個 VM

從開始接觸 vagrant 到現在,都只是用來快速開啟簡單的 VM 使用 用久了總會有比較多的需求,像是…. 一次產生多個 VM 可以設定不同的 cpu 數量 & memory 大小 硬碟數量可以超過 1 個,並個別指定其大小 ...

[OpenStack] High Availability

OpenStack HA 概念 要在自家的私有雲建置 OpenStack HA 的原因,不外乎就是為了要避免 SPOF 的問題發生,因此要確保以下幾個部分都有進行多重的備援: 網路元件,例如:Switch / Router 有自動化移轉機制的應用程式 儲...

[Ubuntu] Service Orchestration by Juju

Deploying Services 這個部分要來說明如何使用 Juju 來進行 service deployment 的工作: 從 Charm Store 進行佈署 透過 charm store 是最標準的做法,以下是 deply 的範例: # 透過 charm store 佈署 mysql $ juj...

[Ubuntu] Juju 的安裝 & 設定

Juju 是甚麼? 首先先看一下 Juju 官網對 Juju 的定義: Juju is the best solution to orchestrate your services in the cloud. You can use it through a GUI or from the comman...

[Ansible] Role 使用介紹

此篇文章介紹 Ansible Role 是什麼 & 如何使用 Ansible Role 是什麼 ? Ansible Role 是一種分類 & 重用的概念,透過將 vars, tasks, files, templates, handler … 等等根據不同的目的(例如:web server、d...

[Ansible] Inventory 使用介紹

測試環境說明 我們透過 Vagrant 建立了三台 VM,名稱與 IP 分別如下: vagrant1 (192.168.30.11) vagrant2 (192.168.30.12) vagrant3 (192.168.30.13) In...

[Ansible] playbook 入門

使用 playbook 前必須先知道的 Inventory File Inventory 檔案不能有執行的權限(x),否則 ansible 會回報以下錯誤: ERROR: problem running inventory/file/path –list ([Errno 8] Exec format ...

學習 Linux Command Line 筆記(2) - 組態與環境

以下只記錄一下原本不會、比較不熟的,或是認為比較重要的 Linux Command Line 學習紀錄 環境(The Environment) shell session 有兩種: login shell session:啟動 console 終端機時所產生的 session。 ...

學習 Linux Command Line 筆記(1) - 學習 Shell

以下只記錄一下原本不會、比較不熟的,或是認為比較重要的 Linux Command Line 學習紀錄 重導向(Redirection) 1、Standard Input(0)/Output(2)/Error(2) 將 stdout(1) & stderr(2) 同時輸出到指定檔案中: $ ls ...

[Ansible] 使用 module & ad-hoc command

ad-hoc command 是什麼? 以下是 ad-hoc command 在官網的定義: An ad-hoc command is something that you might type in to do something really quick, but don’t want to sav...

[Ansible] 初探 Ansible

Ansible 是什麼? 以下來自官網的定義: Ansible is the simplest way to automate apps and IT infrastructure. Application Deployment + Configuration Management + Continuo...

[Vagrant] 初探 Vagrant @ Windows

環境安裝 & 設定 安裝 VirtualBox (使用版本:4.3.22) 安裝 VirtualBox Extension Pack (使用版本:4.3.22) 安裝 Vagrant (使用版本:1.7.2) 安裝 OpenSS...

[OpenStack] 啟動第一個 VM

要啟動第一個 VM,有兩個部份的工作要完成: 產生 key pair 產生 VM 並啟動 產生 key pair 1、切換成使用者 demo root@controller:~# source ~/openstack/demo-openrc.sh 2、建立...

[OpenStack] 安裝 Juno @ Ubuntu 14.04 (5) - 設定 Network Service(Neutron)

OpenStack 網路功能 OpenStack 的網路功能允許管理者可以針對其他服務所需要的網路功能,建立並附加相關的虛擬介面裝置;此外 OpenStack 在整體架構上提供了很大的彈性,透過 plug-in 的方式,可讓第三方廠商的網路設備 or 軟體與 OpenStack 的網路功能整合。 在 Open...

[OpenStack] 安裝 Juno @ Ubuntu 14.04 (3) - 設定 Image Service(Glance)

Image Service 概觀 在 OpenStack 中,Image Service 的用途在於讓使用者可以透過 REST API 尋找/註冊/取得虛擬機器的映像檔來使用,而映像檔可以存放於多種不同的位置,提供這樣的服務的專案稱為 Glance。 Glance 是用來管理虛擬磁碟的 image 之用,除了...

[OpenStack] OpenStack 概觀

簡介 以下是官網的介紹: OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard ...

[Django] HTTP Request/Response 的加工廠 - Middleware

Middleware 是什麼? 在 Django 中,middleware 的作用是外掛在 Django 處理 request/reponse 的過程中,針對 request/reponse 的資訊進行額外的加工處理。 每個 middleware 都有自己的專屬功能,以 SessionMiddleware 為...

[Django] 在 Django 中使用 SQLAlchemy

前言 在開發 web 的時候,如果有存取到資料庫的部分,若有使用 ORM(object relational mapping) 的相關 library,就會覺得使用類似存取物件的方式來存取資料庫,真的是一件很方便的事情。 在 Django 中有提供 Django ORM helper 給開發者來使用,讓開發者...

[Django] Basic URL dispatch

專案目錄架構 在說明 url dispatch 之前,先看一下目前專案目錄 & 檔案架構: ├── db.sqlite3 ├── hello_django │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-34.p...

[Django] 安裝 Django for Python3

原本是使用 PyCharm 作為練習 Django 之用,但為了瞭解 Django 的細節,我決定還是從安裝、開發、佈署,一步一步直接從 Linux command line 做起好了。

PyCharm 使用技巧筆記

PyCharm 真的是寫 Python 的神器阿…簡直可以媲美 M$ Visual Studio .NET 就它的功能來對比它的收費標準,算是很便宜阿!! 而 PyCharm 目前我也還在邊用邊學的狀態,以下就慢慢來來記錄一下一些好用的功能,有發現甚麼特別的功能就回來補! 程式碼撰寫 Optimize...

[SQLAlchemy] Query

這篇文章主要是介紹一下在 SQLAlchemy 中查詢的撰寫方式,從 Model 定義先開始,接著新增資料,再來才是查詢。 Model 定義 首先是 Model 的定義,建立檔案 model_define.py: # -*- coding: utf-8 -*- from sqlalchemy import ...

[SQLAlchemy] ORM Tutorial

在 Python Central 上找到一系列很不錯的 SQLAlchemy ORM 的教學文章,透過這一系列的文章可以很有條理的學習 SQLAlchemy:

[SQLAlchemy] SQL Expression Language Tutorial

前言 要學習 Python 操作資料庫,當然以 SQLAlchemy 作為首選了….相較於 MS.NET,SQLAlchemy 就類似於 ADO.NET(database toolkit) & Entity Framework(object-relational mapping system) 所提供的...

2014

VM & NAS 備份設定記錄

為了避免設定步驟 & 條件忘記……所以筆記一下… Backup Server OS:Debian 7.7.0 NFS Server 安裝 NFS Serevr 套件 root~# apt-get -y install nfs-kernel-server 預設停用 NFSv4,使用 NFSv...

換車時的評估事項

恩….開了 Focus TDCi WRC(MK2) 好一段時間了….. 我在想如果有朝一日換車時,到底還要注意那些事情呢?? 所以我決定記在這邊以免忘記了 動態項目 靜肅性 行經顛頗路面時的避震反應 高速時變換車道穩定性 煞車力道 ...

[SQLAlchemy] 架構簡介 - Core

SQLAlchemy 是什麼? 首先引用自SQLAlchemy 官方網站的介紹: SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full po...

[Ubuntu] 設定 NIC Bonding

最近要測試 storage,但因為 server 上的網卡(四張)的速率只有 1Gb,所以決定透過 bonding 的方式將所有網路卡串起來使用,儘量的消除資料傳輸的瓶頸出現在網路的機會…. 安裝 ifenslave $ sudo apt-get -y install ifenslave 載入 bond...

使用 IOMeter 測試 VDI 效能

最近公司正在評估購買 storage 用來做虛擬化,由於大部分會用在提供使用者桌面,因此 VDI 的效能必須要好,使用者的操作體驗才會不錯 網路上找了一下,一堆測試軟體,考量到可調整測試的彈性,決定以 IOMeter 來進行測試 測試情境 從參考資料可得知,一般的 Desktop VM(文章中寫到是 Win...

[Docker] 快速建立 IPython Notebook 環境

上周參加讀書會有朋友提供一個 DockerHub 連結,表示目前已經有人將 IPython Notebook & SciPy Stack 包再一起發布在 DockerHub 上,可自行取用….

Docker 學習資源整理

網路上看到不錯的資料,先保留起來,以後有空可以慢慢看….. Docker 原理介紹 docker 原理簡介 - 程式的窩 初探Docker - Docker 跟 LXC 以及一般Hypervisor有何差別? - 阿貝好威的實驗室 ...

Git 學習筆記

1、建立 repository #在目前所在的目錄建立 local repository $ git init #建立 shared repository $ git init --bare #複製指定 repository 的資料到目前的目錄 #Ex: git clone https://github.c...

LFS101x Introduction to Linux 筆記

重導向 孤島日誌: Unix 重新導向跟 2>&1 【筆記整理】標準輸入輸出和管線 (Standard Input Output and Pipes) - ghoseliang- 點部落 Ch08: File Operations Section 2...

準備中....待學習資料

Python 3 專欄文章:Python Tutorial Python/第一次用就上手 - Python Taiwan Wiki Coding 初學指南-Python – Liang2’s blog IT Automation Tools P...