清除 Public DNS 服務快取的管道

當 DNS 紀錄有更動的時候,為了盡快看到並確認結果,我們會想要在紀錄的存活時間 (TTL, Time To Live) 到期之前就手動清除瀏覽器或是系統上的 DNS 紀錄快取資料 (例如像 Flush local DNS cache on a browser and local system 這邊有紀錄了幾個常用的方式),但這僅限於我們手邊的裝置,如果 DNS 伺服器上面的紀錄仍然是被快取過的結果,清除本機的快取可能就派不上用場了。

如果想要清除 DNS 伺服器上的快取紀錄該怎麼做呢?如果是自己管理的 DNS 伺服器,可以透過重新啟動服務等方式清除快取,但如果不是自己管理的伺服器應該怎麼辦呢?

例如,自己手上管理的某套服務剛做完 DNS 紀錄變更,我希望使用者也能盡快拿到最新的結果,而不是查詢到被快取在伺服器上面的舊版紀錄,但是大多數的使用者使用的肯定都不是我管理的 DNS,也就是不在我的控制範圍內,比較常見的狀況可能是使用 ISP 預設提供的 DNS 服務,或是其他大型企業提供的 Public DNS 服務 (例如:常用 Public DNS resolver 清單整理 這邊鎖整理),這時候要怎麼做才可以讓使用者更快取得新的 DNS 紀錄而不必等到 TTL 都到期呢?

Google Public DNSCloudflare 1.1.1.1 兩家知名的 Public DNS 服務就有對外提供 Flush Cache / Purge Cache 的功能,界面都相當簡潔,只要輸入對應的網域名稱 (Domain name) 、資源紀錄類型 (Record type),就可以很方便、快速的清除快取紀錄,讓最新的設定能盡快生效,他們的網址分別是:

Google Public DNS 的 Flush Cache 界面
Google Public DNS 的 Flush Cache 界面
閱讀全文

戴佩妮 Penny Tai – 怎樣

出自戴佩妮的第二章專輯、2001年的「怎樣」

如果分開後,兩個人的心中仍存在著對方,會偶然想起,不知道他現在過得好嗎、有沒有吃飽、有沒有穿暖、日子過得開不開心呢?

有時分開,並不是因為不愛了,而是現實中有太多的稜稜角角,讓我們起了爭執,也許是歷練不夠、不夠成熟,或者是我們倦了、累了,以至於我們不願退讓,又也許是我們太在乎了,而不知如何放下,但我們知道這段故事不會有一個好的結局,所以在兩人心中仍有著對方的時候放棄一切、從頭來過,痛,就痛這麼一次吧。

有時分開,是因為太痛了,是愛的過程太痛了,痛的我們不知該如何面對,痛的我們以為世界將要毀滅,所以我們選擇離開,帶著傷痛離開曾經屬於我們的世界,讓時間淡化一切,讓傷口慢慢癒合,讓傷疤漸漸撫平。

但我們仍會偶爾惦記著對方,甚至幻想著如果當初沒有分開,若當時彼此都更加的努力,勇敢的面對一切的挑戰,今天的我們,還有機會讓王子和公主在城堡立下誓約,是不是自己當初再成熟一點,現在就能陪著彼此走過人生接下來的道路。

只是這答案,沒有人知道,因為一旦錯過了,就過了。

作詞:戴佩妮 作曲:戴佩妮

我這裡天快要黑了 那裡呢
我這裡天氣涼涼的 那裡呢
我這裡一切都變了 我變的懂事了
我又開始寫日記了 而那你呢

我這裡天快要亮了 那裡呢
我這裡天氣很炎熱 那裡呢
我這裡一切都變了 我變的不哭了
我把照片也收起了 而那你呢

如果我們現在還在一起會是怎樣
我們是不是還是深愛著對方
像開始時那樣 握著手就算天快亮

我們現在還在一起會是怎樣
我們是不是還是隱瞞著對方
像結束時那樣 明知道你沒有錯 還硬要我原諒

閱讀全文

AWS EC2 的新 Instances type – T3 以及跟 T2 的比較

AWS EC2 今天新推出的 Instance type – T3:Introducing Amazon EC2 T3 Instances, New T3 Instances – Burstable, Cost-Effective Performance,宣稱因為採用了最新的 Xeon CPU 以及新的 AWS Nitro System 透過專門的硬體協助虛擬化,和 T2 相比有 30% 的效能提昇:

T3 instances also feature the latest 2.5 GHz Intel Xeon Scalable processors which combined with the AWS Nitro System result in up to a 30% better price to performance improvement over T2 instances

實際上開了一台 T3 的機器來看,看到的 CPU 是和先前 M5 instance 相同、去年才推出而且是 AWS 才有的 Intel(R) Xeon(R) Platinum 8175M ,也因為 Nitro System 的 Network & EBS bursting,網路透過 ENA (Amazon Elastic Network Adaptor) 頻寬可以拉到 5Gbps,EBS 則是 1.5 / 2.05 Gbps:

T3 instances are powered by the Nitro system. In addition to CPU bursting, they support network and EBS bursting, giving you access to additional throughput when you need it. Network traffic can burst to 5 Gbps for all instance sizes; EBS bursting ranges from 1.5 Gbps to 2.05 Gbps depending on the size of the instance, with corresponding bursts for EBS IOPS.

新的 instance type 一如往常會比同系列上一代的 instance (T2) 來的更經濟實惠,這邊做個比較,大致分成價格跟硬體規格來看:

價格的部份和 T2 相比,on-demand 及 reserved instance (RI) 大約都有 10% 左右的降幅,拿 us-east-1 的 nano Linux 來看,每小時的價格最低為 $0.0052 USD 、標準的一年及三年期 RI 為 $27 / $51 (USD),同 region 的 T2 instance 則分別是 $0.0058 / $29 / $57 (USD),

規格的部份,除了一開始提到的 Xeon CPU 及 AWS Nitro System 之外,T3 instance 的 vCPU 數量最少從 2 開始起跳,同時把 medium 以下的機器每小時給的 CPU credits 翻倍,比較小台的 nano、micro、small  特別受惠 (vCPU & CPU credits per hour 都翻倍),再來 medium & large 這兩種規格帳上就沒有變化,而 xlarge、2xlarge 的 baseline performance 拉到了大概也是兩倍左右,CPU credits per hour 則是分別多了 77% & 135% 也就是快要兩倍及兩倍多的 credits ,還算有誠意

做個表格比較容易比較:

閱讀全文

透過 Smartmontools / smartctl 讀取硬碟 S.M.A.R.T. 資訊

S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology) 狀態經常被用於判讀硬碟的健康狀態以及提供健康狀態預警,在 Ubuntu / Debian 底下可以透過 smartmontools 套件底下的 smartctl 這支程式來讀取相關的資訊,因為經常不小心忘記用法,所以這邊做個筆記 …

透過 apt-get 安裝:

$ sudo apt-get install -y smartmontools

如果不是在 RAID 底下管理的硬碟,一般可以直接透過指定磁碟代號的方式如 /dev/hda 來讀取資訊或進行測試,例如

顯示監康狀態 (-H/--health)

$ sudo smartctl -H /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-70-lowlatency] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

顯示規格資訊 (-i)

$ sudo smartctl -i /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-70-lowlatency] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD4002FYYZ-01B7CB0
Serial Number:    K4HXYJVB
LU WWN Device Id: 5 000cca 25ddb40cc
Firmware Version: 01.01M02
User Capacity:    4,000,787,030,016 bytes [4.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Fri Apr 14 21:27:52 2017 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

其他常用的還有顯示全部 SMART 資訊的 -a / --all 或是顯示所有資訊的 -x / --xall 以及用來掃描裝置的 --scan 以及進行測試的 --test

透過 Raid Controller 管理的硬碟除了透過 Raid card 的管理工具來看健康狀態以外,同樣可以透過 smartctl 來讀取 SMART 資訊(參考支援列表:https://www.smartmontools.org/wiki/Supported_RAID-Controllers),這邊以 LSI MegaRAID SAS 9260-8i 為例 (LSI/MegaRAID 的貼牌卡還滿多的,用法相同),先透過管理工具 (storcli64) 列出特定 controller 上的所有硬碟 (看你要拿的硬碟資訊是掛在哪個控制器底下):

$ sudo storcli64 /c1 /eall /sall  show
Controller = 1
Status = Success
Description = Show Drive Information Succeeded.


Drive Information :
=================

--------------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model                Sp Type
--------------------------------------------------------------------------------
30:0      6 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:1      7 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:2      8 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:3      9 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:4     10 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:5     11 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:6     12 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:7     13 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:8     14 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:9     15 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:10    16 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:11    17 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:12    18 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:13    19 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:14    20 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:15    21 GHS    - 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 D  -
30:16    22 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:17    23 Onln   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:18    24 Rbld   0 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 U  -
30:19    25 GHS    - 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 D  -
30:20    26 GHS    - 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 D  -
30:21    27 GHS    - 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 D  -
30:22    28 GHS    - 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 D  -
30:23    29 GHS    - 3.637 TB SATA HDD N   N  512B WDC WD40EFRX-68WT0N0 D  -
--------------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded

再根據 Raid Card 的廠牌及 Device ID (DID) 帶入 smartctl, 例如 MegaRAID 就是 megaraid,這邊示範使用代號為 sdc 、 底下 DID = 15,的硬碟,其他參數則按照自行需求調整 :

$ sudo smartctl -H -d megaraid,15 /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-70-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

若是不確定有哪些裝置或是手上的 Raid Card 該用什麼名稱 … 就用 --scan 列出吧:

$ sudo smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,2 # /dev/bus/0 [megaraid_disk_02], SCSI device
/dev/bus/1 -d megaraid,6 # /dev/bus/1 [megaraid_disk_06], SCSI device
/dev/bus/1 -d megaraid,7 # /dev/bus/1 [megaraid_disk_07], SCSI device
/dev/bus/1 -d megaraid,8 # /dev/bus/1 [megaraid_disk_08], SCSI device
/dev/bus/1 -d megaraid,9 # /dev/bus/1 [megaraid_disk_09], SCSI device

井字號後面的是註解,/dev/bus/ 後面接的數字以我這邊的例子看起來是 Raid Card 的 Controller 編號,使用時除了透過硬碟代號,直接給 /dev/bus/ 也是可行的,例如:

$ sudo smartctl /dev/bus/1 -d megaraid,6 -H
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.4.0-70-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

好像常用的就大概這樣了,還有想到再補 …