1. 有哪個linux操作系統推薦
linux發行版本主要以下幾種晌羨肢:
1、ubuntu桌面版系統:
對於不擅長系統操作命令的人員,使用比較方便派缺。
2、SUSE網路服務功能強的系統:
如果想把伺服器充當路由設備,或郵件伺服器,可以關注。
3、Debian安全性較好系統:
有些對系統安全性要求高的企業會作為優選。
(1)構建高可用linux伺服器第2版擴展閱讀:
Linux優點:
1、Linux繼承了Unix的特性,具有非常強大的網路功能,其支持所有的網際網路協議,包括TCP/IPv4、TCP/IPv6和鏈路層拓撲程序等,且可以利用Unix的網路特性開發成出新的協議棧;
2、Linux系統工具鏈宴世完整,簡單操作就可以配置出合適的開發環境,可以簡化開發過程,減少開發中模擬工具的障礙,使系統具有較強的移植性。
2. linux系統哪個版本好
linux系統比較好的版本:
1、ZorinOS:是一款與Windows7界面相似度極高的發行版本,開始菜單、任務欄完全一樣,還帶有常用的辦公娛樂上網應用。
2、Elementary OS:非常完美的Linux操作系統,一款在Ubuntu基礎上的桌面Linux發行版,界面與蘋果系統十分形式。
3、Pear OS:是一款界面類似於蘋果操作系統的版本,來自法國,外觀漂亮。
Linux操作系統主要擁有幾大特點:
1、開放操作系統:Linux是一個免費的軟體,開發者可以自由安裝並任意修改軟體源代碼,想比Unix的命令行操作,Linux提供了窗口管理系統,相對於容易操作,企業可以免費使用Linux。
2、強大軟體支持:Linux非常容易維護,用戶可以集中更新操作系統和所有安裝的軟體,安全高效。Linux能有效利用系統資源,允許用戶針對特定的硬體要求進行安裝,允許在舊計算機上安裝Linux,有助於最佳利用計算機硬體資源。
3. 淺談如何學習linux(強烈推薦)
隨著互聯網的迅猛發展,Linux得到了廣發的應用,目前市場是百分之八十伺服器端都在使用Linux操作系統,小至私人企業,大至世界百強企業,均有Linux操作系統使用者,因此,Linux就業前景很不錯,很多人想學習Linux,那麼Linux好學嗎?一般多長時間能學會?
Linux的學習說難不難,說容易也不容易,這就要看你是否掌握了合適的學習資源和方法,以及持之以恆的學習精神,如果這些都具備了,恭喜你,Linux運維工程師的大門已經向你敞開了!
對於想學好Linux的人員,可以參考一下大綱進行學習:
第一階段:linux基礎入門
Linux基礎入門主要包括: Linux硬體基礎、Linux發展歷史、Linux系統安裝、xshell連接、xshell優化、SSH遠程連接故障問題排查、L inux基礎優化、Linux目錄結構知識、Linux文件屬性、Linux通配符、正則表達式、Linux系統許可權等
第二階段:linux系統管理進階
linux系統管理進階包括:Linux定時任務、Linux用戶管理、Linux磁碟與文件系統、Linux三劍客之sed命令等。
第三階段:Linux Shell基礎
Linux Shell基礎包括:Shell編程基礎、Linux三劍客之awk命令等。
第四階段:Linux網路基礎
第五階段:Linux網路服務
Linux網路服務包括:集群實戰架構開始及環境准備、rsync數據同步服務、Linux全網備份項目、nfs網路存儲服務精講、inotify/sersync實時數據同步/nfs存儲實時備份項目等。
第六階段:Linux重要網路服務
Linux重要網路服務包括:http協議/www服務基礎、nginx web介紹及基礎實踐、nginx web、lnmp環境部署/資料庫異機遷移/共享數據異機遷移到NFS系統、nginx負載均衡、keepalived高可用等。
第七階段:Ansible自動化運維與Zabbix監控
Ansible自動化運維與Zabbix監控包括: SSH服務秘鑰認證、ansible批量自動化管理集群、 zabbix監控等。
第九階段:大規模集群高可用服務(Lvs、Keepalived)
第十階段:Java Tomcat服務及防火牆Iptables
第十一階段:MySQL DBA高級應用實踐
MySQL DBA高級應用實踐包括:MySQL資料庫入門基礎命令、MySQL資料庫進階備份恢復、MySQL資料庫深入事務引擎、MySQL資料庫優化SQL語句優化、MySQL資料庫集群主從復制/讀寫分離、MySQL資料庫高可用/mha/keepalved等。
第十二階段:高性能資料庫Redis和Memcached課程
第十三階段:Linux大規模集群架構構建(200台)
第十四階段:Linux Shell編程企業案例實戰
第十五階段:企業級代碼發布上線方案(SVN和Git)
第十六階段企業級Kvm虛擬化與OpenStack雲計算
第十七階段公有雲阿里雲8大組件構建集群實戰
第十八階段:Docker技術企業應用實踐
第十九階段:Python自動化入門及進階
第二十階段:職業規劃與高薪就業指導
4. 有好的IT運維管理書籍推薦嗎
苦練基本功
1. 熟悉windows、linux操作系統;操作系統原理是精髓。
2. sed、awk、grep等腳本用法熟悉;正則表達式熟悉。
3. 常見系統在windows,linux下部署要熟悉。比如dns、ftp、web、mysql、mssql,等等。
4. 交換機、防火牆的基本配置要會。
推薦: ABS_Guide_cn 腳本基本功方面的
鳥哥私房菜、構件高性能web站點;然後其他各種專注編程、專注資料庫的其他書籍……
以上僅針對網站運維,如果是想進金融國企等行業,請無視……
1. Linux系統管理技術手冊(第二版) —— 學習linux的基礎實用知識
2. Linux shell 編程與伺服器管理——很簡單的shell入門教材,推薦必看。
3.ABS——中高級的shell教材,必看。
4.構件高性能web站點——網站運維必看。
運維這里基礎的是桌面運維,其次是伺服器相關和網路方面,當然也看你是想往技術方面走,還是基礎運維走了,技術方面還是開發為主,各種語言。
運維方面暫時還沒有經典書籍。不過建議學好linux:《鳥哥私房菜》其他的主要看你的工作方面和工作經驗積累,畢竟運維是最近幾年出來的東東。
《構建web高性能架構》和《構建高可用linux伺服器》,不過最好有點linux和shell的知識以後看更容易點。
5. Linux裡面什麼是ext2fs
EXT2FS第二代擴展文件系統(英語:second extended filesystem,縮寫為 ext2),是LINUX內核所用的文件系統。它開始由Rémy Card設計,用以代替ext,於1993年1月加入linux核心支持之中。ext2 的經典實現為LINUX內核中的ext2fs文件系統驅動,最大可支持2TB的文件系統,至linux核心2.6版時,擴展到可支持32TB。其他的實現包括GNU Hurd,Mac OS X(第3方),Darwin(第3方),BSD。ext2為數個LINUX發行版的默認文件系統,如Debian、Red Hat Linux等 。
簡介
其單一文件大小與文件系統本身的容量上限與文件系統本身的簇大小有關,在一般常見的 x86電腦系統中,簇最大為 4KB, 則單一文件大小上限為 2048GB, 而文件系統的容量上限為 16384GB。
但由於目前核心 2.4 所能使用的單一分割區最大隻有 2048GB,實際上能使用的文件系統容量最多也只有 2048GB。
至於Ext3文件系統,它屬於一種日誌文件系統,是對ext2系統的擴展。它兼容ext2,並且從ext2轉換成ext3並不復雜。
Ext2文件系統具有以下一般特點:
1、當創建Ext2文件系統時,系統管理員可以根據預期的文件平均長度來選擇最佳的塊大小(從1024B——4096B)。例如,當文件的平均長度小於幾千位元組時,塊的大小為1024B是最佳的,因為這會產生較少的內部碎片——也就是文件長度與存放塊的磁碟分區有較少的不匹配。另一方面,大的塊對於 大於幾千位元組的文件通常比較合合適,因為這樣的磁碟傳送較少,因而減輕了系統的開銷[1]。
2、當創建Ext2文件系統時,系統管理員可以根據在給定大小的分區上預計存放的文件數來選擇給該分區分配多少個索引節點。這可以有效地利用磁碟的空間。
3、文件系統把磁碟塊分為組。每組包含存放在相鄰磁軌上的數據塊和索引節點。正是這種結構,使得可以用較少的磁碟平均尋道時間對存放在一個單獨塊組中的文件並行訪問。
4、在磁碟數據塊被實際使用之前,文件系統就把這些塊預分配給普通文件。因此當文件的大小增加時,因為物理上相鄰的幾個塊已被保留,這就減少了文件的碎片。
5、支持快速符號鏈接。如果符號鏈接表示一個短路徑名(小於或等於60個字元),就把它存放在索引節點中而不用通過由一個數據塊進行轉換。
Ext2還包含了一些使它既健壯又靈活的特點:
1、文件更新策略的謹慎實現將系統崩潰的影響減到最少。我們只舉一個例子來體現這個優點:例如,當給文件創建一個硬鏈接時,首先增加磁碟索引節點中 的硬鏈接計數器,然後把這個新的名字加到合適的目錄中。在這種方式下,如果在更新索引節點後而改變這個目錄之前出現一個硬體故障,這樣即使索引節點的計數 器產生錯誤,但目錄是一致的。因此,盡管刪除文件時無法自動收迴文件的數據塊,但並不導致災難性的後果。如果這種處理的順序相反(更新索引節點前改變目 錄),同樣的硬體故障將會導致危險的不一致,刪除原始的硬鏈接就會從磁碟刪除它的數據塊,但新的目錄項將指向一個不存在的索引節點。如果那個索引節點號以 後又被另外的文件所使用,那麼向這個舊目錄的寫操作將毀壞這個新的文件。
2、在啟動時支持對文件系統的狀態進行自動的一致性檢查。這種檢查是由外部程序e2fsck完成的,這個外部程序不僅可以在系統崩潰之後被激活,也 可以在一個預定義的文件系統安裝數(每次安裝操作之後對計數器加1)之後被激活,或者在自從最近檢查以來所花的預定義時間之後被激活。
3、支持不可變(immutable)的文件(不能修改、刪除和更名)和僅追加(append-only)的文件(只能把數據追加在文件尾)。
4、既與Unix System V Release 4(SVR4)相兼容,也與新文件的用戶組ID的BSD語義相兼容。在SVR4中,新文件採用創建它的進程的用戶組ID;而在BSD中,新文件繼承包含它 的目錄的用戶組ID。Ext2包含一個安裝選項,由你指定採用哪種語義。
即使Ext2文件系統是如此成熟、穩定的程序,也還要考慮引入另外幾個負面特性。目前,一些負面特性已新的文件系統或外部補丁避免了。另外一些還僅僅處於計劃階段,但在一些情況下,已經在Ext2的索引節點中為這些特性引入新的欄位。最重要的一些特點如下:
塊片(block fragmentation)
系統管理員對磁碟的訪問通常選擇較大的塊,因為計算機應用程序常常處理大文件。因此,在大塊上存放小文件就會浪費很多磁碟空間。這個問題可以通過把幾個文件存放在同一塊的不同片上來解決。
這些新的選項(創建一個文件時必須指定)將允許用戶透明地在磁碟上存放壓縮和(或)加密的文件版本。
邏輯刪除
一個undelete選項將允許用戶在必要時很容易恢復以前已刪除的文件內容。
日誌
日誌避免文件系統在被突然卸載(例如,作為系統崩潰的後果)時對其自動進行的耗時檢查。
實際上,這些特點沒有一個正式地包含在Ext2文件系統中。有人可能說Ext2是這種成功的犧牲品;直到幾年前,它仍然是大多數Linux發布公司採用的首選文件系統,每天有成千上萬的用戶在使用它,這些用戶會對用其他文件系統來代替Ext2的任何企圖產生質疑。
Ext2中缺少的最突出的功能就是日誌,日誌是高可用伺服器必需的功能。為了平順過渡,日誌沒有引入到Ext2文件系統;但是,我們在後面 「Ext3文件系統」中會討論,完全與Ext2兼容的一種新文件系統已經創建,這種文件系統提供了日誌。不真正需要日誌的用戶可以繼續使用良好而老式的Ext2文件系統,而其他用戶可能採用這種新的文件系統。現在發行的大部分系統採用Ext3作為標準的文件系統。
Linux支持多種不同類型的文件系統:網路文件系統NFS,磁碟文件系統Extfs,特殊文件系統proc、tmpfs等。
Ext2fs文件系統基本概念
Inode
Ext2fs中,每個文件都用如下圖所示的inode結構來描述,用戶空間操作的對象是文件路徑和名稱,系統kernel把路徑名稱解析成inode,通過inode號來訪問它代表的文件。
Mode:包含兩個數據,文件類型(普通文件/目錄/字元設備/塊設備/符號鏈接/管道)和用戶訪問許可權信息(0660)。
Ownerinfo:文件屬組信息。
Size:文件長度,單位是byte。
Timestamps:文件訪問和修改的時間戳。
Linkscount:這個項在上圖中沒有體現,它記錄了這個inode存在多少個鏈接,創建新文件時,其inode的linkscount應該為1,文件被刪除後,這個inode的linkscount就變為0。
DataBlocks:指向真實的文件數據塊,因為大文件可能會分配很多的block,直接在inode中保存所有的數據塊指針將會比較困難,也會浪費掉很多空間,畢竟系統中大文件的數量是佔少數的,所以設計了間接塊指針(Indirectblocks)和二級塊指針(Doubleblocks)來指向真實數據塊。
實際上還應該包含了inode號。
目錄
在Ext2fs中,目錄被看做一種特殊文件,也用一個inode來描述,目錄的datablock中保存了目錄下的所有內容,每條內容叫做一個entry,結構如下:
每條entry都保存了inode號、entry的長度、文件名長度、文件類型,並且都是4位元組對齊。
特別地,每個目錄下有兩個特殊的子目錄,'.'和'..',分別代表當前目錄和上一級目錄,這兩個目錄文件其實是硬鏈接。其中'..'有一個重要的作用:FSchecker(可以把文件系統umount後手動執行e2fsck看看)在檢查文件系統的時候,就會使用』..『來檢查目錄是否可以追溯到掛載根目錄,如果檢查失敗,目錄便會被鏈接到掛載根目錄下面的lost+found。
鏈接
為了方便系統內文件共享,Linux支持了兩種基本的鏈接文件:硬鏈接和軟鏈接(也叫符號鏈接)。
硬鏈接並不是一個獨立的文件,不佔用inode,只是在目錄下創建了一條entry,其中inode號保存的是目標文件的inode號,訪問硬鏈接時,文件系統通過inode將訪問操作重定向到目標文件,實現了文件共享,所以硬鏈接就是多個文件名直接指向同一個inode,用stat命令也能看到其inode號就是目標文件的inode號,它的特點:
不能跨文件系統。
目標文件必須先存在(inode存在且linkcount不為0)。
只能對普通文件創建硬鏈接,目錄不行。
刪除一個硬鏈接文件並不影響其他有相同inode號的文件。
軟鏈接是一個獨立的文件,擁有自己的inode,其數據塊存放的是目標文件的名稱,訪問軟鏈接時,kernel先訪問軟鏈接的內容,拿到目標文件名,並重新啟動路徑解析,獲取到目標文件inode號再向文件系統發起訪問。軟鏈接的特點:
可以跨文件系統。
文件和目錄都可以。
可對不存在的文件或目標創建軟鏈接。
軟鏈接有自己文件屬性和許可權。
創建軟鏈接時,鏈接計數i_nlink不會增加;
刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接(即danglinglink,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接)。
軟鏈接的目標文件也可以是軟鏈接,其解析過程是遞歸的。
注意:軟鏈接創建時目標文件的路徑指向使用絕對路徑比較好,使用相對路徑創建的軟鏈接被移動後該軟鏈接文件將成為一個死鏈接,因為鏈接數據塊中記錄的也是相對路徑指向。
下面這個圖清晰描述了硬鏈接和軟連接之間的區別:
Ext2fs基本結構
在創建文件系統的時候,Ext2fs將設備(磁碟或者分區)劃分成1K、2K或者4K的block,然後通過Blockgroup來管理,Ext2fs/Ext3fs/Ext4fs的結構差不多(Ext2fs主要是少了日誌功能相關的內容),大致如下圖所示:
SuperBlock
SuperBlock是文件系統最重要的數據,它從設備開始位置偏移1024位元組的地方開始存儲,佔用1個block。如果block的大小是1KB,那麼SuperBlock就存放在block-1。如果block的大小是4KB,那Superblock就存放在block-0。
在Ext2fs的第一個版本(reverson0),每個BlockGroup都會存儲一份SuperBlock的一份副本,因為對空間浪費比較嚴重,後來的版本就只在部分BlockGroup(0、1、3、5、7、9這幾個group)中保留了SuperBlock的副本,在這幾個Group,和SuperBlock一起備份的還有GroupDescriptor。當然,如果沒有這么多Group,副本數量自然更少,在後面的demo中也可以看出來。其中Group-0中的SuperBlock叫作PrimarySuperBlock,文件系統被mount時,VFS讀取的也正是這份。
SuperBlock裡面的具體數據包括:
inode和block的總數,以及還有多少未分配。
每個BlockGroup有多少個inode和block。
文件系統唯一身份標識符(UUID),每個設備上的文件系統UUID都不一樣。
...
GDT
GroupDescriptorTable,GDT在文件系統中的layout緊跟Superblock後面,是文件系統第二關鍵的數據,它主要用於存放所有BlockGroup的信息:
Ext2fs為GDT預留了一部分空間,用於文件系統擴容。
通過冗餘提高了文件系統可靠性:在多個group中保存了關鍵數據的冗餘副本,包括superblock、GDT,當這些關鍵數據損壞的時候,很容易從這些冗餘副本中恢復。
提升性能:分成group後,inodetable和datablock之間的」距離「變近了,在執行I/O時,可能會減少磁頭定址的時間。
註:實際上inodesize,每個group中的block數等參數都可以在創建文件系統的時候指定,具體命令參數參考manpage。
Ext2fs的性能優化
為了提升I/O性能,Ext2fs內核代碼也做了很多設計,其中有兩個關鍵的技術:
提前讀:當必須讀取一個塊時,內核代碼在幾個連續的塊上請求I/O。通過這種方式,它試圖確保要讀取的下一個塊已經載入到緩沖區緩存中。提前讀通常在文件的連續讀取期間執行,Ext2fs將它們擴展到目錄讀取,可以是顯式讀取(readdir(2)調用),也可以是隱式讀取(namei內核目錄查找)。
預分配:在將數據寫入文件時,Ext2fs在分配新塊時預先分配最多8個相鄰塊。具體預分配多少個塊取決於blocksize:blocksize=1KB,每次預分配2個block;blocksize=2KB,每次預分配4個block;blocksize=4KB,每次預分配8個block。當然,對於用touch創建的空文件是不會預分配block的。即使在非常滿的文件系統上,預分配命中率也只有75%左右。這種預分配在負載較大的情況下可以獲得良好的寫性能,同時它還允許將連續的塊分配給文件,從而加快未來的順序讀取。
下面是Ext2fs、Ext3fs和Ext4fs的一個簡單對比:
只有Ext2fs的Filesystemstate是notclean,Ext3fs和Ext4fs都是clean,Ext2fs剛被以讀寫模式mount時,這個state被設置成notclean,umount或者以只讀模式mount時,state被設置成clean,啟動時文件系統根據這個狀態來決定是否要執行檢查。
Ext3fs/Ext4fs的Superblock中多了關於日誌功能的信息。
Ext4fs的每個group多了校驗和(checksum)數據。