Home

2013年10月28日 星期一

LVM (Logical Volume Mamager) on Linux 動態放大檔案系統

From: Polin Wei

繼上章 Oracle Linux Install Using LVM, 我們談到 LVM 的好處在於可以動態放大檔案系統,接下來就來做做看,假設我們安裝 Oracle Linux 時的磁碟配置如下,Volume Group:vg0 有三個 Physical Volume 實體磁區(簡稱PV),依下圖的配置來看,vg0 還有大約 13 G 未分配的磁碟空間。

系統安裝完後,可以用指令 lvscan 來查詢 LVM 實際擁有的空間

也可以使用指令 df -h 來看各個磁碟現在的使用狀況

用指令 vgdisplay 查詢一下 Volume Group:vg0 是否有未分配的磁碟空間

當發生磁碟空間不足,而 vg0 仍有未分配的磁碟空間時,就可以利用指令 lvextend -L 來增大空間,這樣是不是很方便呢!!

Oracle Linux Install Using LVM

From: Polin Wei

LVM (Logical Volume Mamager) 概念
使用 LVM,硬碟中的分割區必須加入『Logical Volume Group 邏輯磁區群組(簡稱 VG)』,這種分割區在 LVM 中稱為『Physical Volume 實體磁區(簡稱PV)』,各位可以把 VG 想成是一個大硬碟,然後再從其中切出一塊空間『Logical Volume 邏輯磁區(簡稱 LV)』對應至系統的檔案系統。

除了/boot 分割區,其餘的檔案系統皆可在 Volume Group 在這顆虛擬的大硬碟中。/boot 分割區不可以在 VG 中,因為開機管理程式將無法讀取到它。假如您想要  /  檔案系統在 VG 中,您必須另外建立一個  /boot 分割區,使其不屬於VG 的一員。

VG 可以分割為幾個 『Logical Volume 邏輯磁區』,將會指定它們的掛載點,例如  /opt  與  /,以及檔案系統類型,如 ext4。當某個檔案系統的容量全滿時,VG 中的剩餘空間可以增加到此檔案系統所對映的邏輯磁區以增大此檔案系統大小。
示意圖如下:

2013年10月24日 星期四

MSSQL Server 2012 Restore 備份還原

From: Polin Wei

MSSQL Server 2012 Restore 備份還原概念:
MSSQL Server 2012 Restore 在還原的過程中,有三個階段 (Phase):
1. Data Copy:建立實體檔案,與回存資料
2. Redo:從 LOG File 回存所有已經確認 ( commit ) 的 Transaction
3. Undo:回覆 ( Roll Back ) 在還原時間點時未確認的 Transaction (交易)
至於 MSSQL Server 2012 Restore 還原概念,大致是以下列 4 個步驟,不過這 4 個步驟應該也是大部份資料庫系統採用的方法,像 Oracle DB 的 RMAN 也是如此。
  • 1. 先嚐試執行 Tail-log 備份
  • 2. 回存最近一次全備份
  • 3. 回存最近一次的差異備份
  • 4. 回存所有備份 LOG Fiile 裡的 Transaction ,再回存第一步驟所備份 tail-log 中的 Transaction

備份還原實作
首先建立一個目錄 C:\backups 作為備份的目錄,接下來的步驟則是模擬資料庫 Northwind 的檔案毁損時,資料庫重建的完整過程
--1.建立備份裝置 mybackup(backup device)
指令:
EXEC master.dbo.sp_addumpdevice  @devtype = N'disk', @logicalname = N'mybackup', @physicalname = N'C:\backups\mybackup.bak'

2013年10月16日 星期三

MSSQL Server 2012 Backup 備份

From: Polin Wei

MSSQL Server 2012 Transaction Concept 概念:
MSSQL Server 2012 在資料寫的的運作上,是秉持著 WAL(Write Ahead Logging) 的機制,Transaction 存取磁碟的作業,主要是依照下列 4 個步驟來作業:
  1. 將 Transaction 寫入 LOG File
  2. 將 Transaction 的異動修改 Buffer (記憶體) 裡的資料
  3. 交易完成 Transaction Commit
  4. 將 Buffer (記憶體) 裡的資料寫入 Disk ( Data Files )裡

Recovery Model:
在說明 MSSQL Server 2012 的備份模式前,要先瞭解它的 Recovery Model,MSSQL Server 2012 的 Recovery Model 有三種模式:

  1. Simple:當 Transaction Commit 交易確認後,此 Transaction Log 就會從 LOG File 中清除(Truncate),所以 LOG File 並不會長大,LOG File 的檔案大小永遠保持最小。
  2.   Full:所有的 Transaction 交易都會保留在 LOG File 中,所以 LOG File 會一直長大,除了作備份作業後,LOG File 裡的 Transaction 內容才會被清除(Truncate),當然 LOG File 檔案要縮小,還得手動執行 Shrink Log 才行
  3.  Bulk Logged:當有 Bulk Insert 的 SQL 語法時,這些 批次 的 Transaction 不會記錄在 LOG File 中。