Linuxシステム管理:ファイルシステムのマウントと自動フォーマットスクリプト
午前中はレッスン033の结课试験でしたが、033とはいえ、マゴの指导で033の难易度をはるかに超えました...午後、マウントを勉強して、小さな宿題を残して、スクリプトを書いて自動パーティションを実現しました.あまり話さないで、本題に入ります.
ファイルシステムの分類:
ext 2,ext 3,ext 4,ntfs,xfs,jfs,reiserfs,iso,swap,vfatなど.
こんなに多くのファイルシステムでは、プログラム設計時にIO識別ファイルシステムを考慮すると、異なるファイルシステムのIO識別プログラムを書くだけで、大きな仕事になります.
そのため、VFSはファイルシステムとユーザーの間にあり、ユーザーとファイルシステムを調整し、同じ呼び出しインタフェースを提供する中間層仮想ファイルシステムが現れた.
HDDの分類(インタフェース別):
1.ATA(IDE):パラレルポートはアダプタ変換信号133 M/sを必要とするパラレル2本の線が互いに干渉しやすく、一定の設計上限まではだめである.SATA:シリアルポート300 M/S 600 M/S 4 Gbpsは1本の線が干渉しないのでブロック3.SCSI:パラレルsamll computer system interfaceスループットが大きく、寿命が長く、回転速度が高く、エンタープライズクラスのアプリケーションアダプタ自体にコントローラがあり、CPUのように、制御I/Oを完全に実現でき、CPUの負担を大幅に低減し、外部記憶も可能である.SAS:シリアルSCSI:シリアルシミュレーションSCSI 5.USBには他にも
ファイルシステムとハードディスク(HDD)の概念があれば、パーティションの話題に入ることができます.
1つのHDDに最大4つのプライマリパーティションがあるのはなぜですか?これは、各ハードディスクの第1のブロック512バイトがそのブートブロックであるbootloaderであり、446バイトがオペレーティングシステムをブートするためのブートプログラムを格納するために使用され、残りの64バイトがパーティション情報、すなわち、よく知られているハードディスクパーティションテーブルMBRを格納するために使用され、各パーティションのパーティション情報は16バイトであるため、64/16=4のパーティションがプライマリパーティションまたは拡張パーティションとなる.
linuxのパーティションは4つのステップに分かれています.
まずfdisk:
ハードディスク(HDD)を/dev/sdaと仮定
コマンドラインで入力:fdisk/dev/sda
いくつかのリレーショナル・イベントのプロパティ
mヘルプdは、パーティションnを削除するために新しいパーティション+10 G分10 Gを作成するために使用され、柱面の大きさのため、p印刷パーティションを正確に分割することができず、既存のパーティションタイプtを表示してパーティションタイプwを調整し、ディスクに書いてqを後悔し、aを保存しないでアクティブパーティションを修正する
nを入力すると、開始柱面と終了柱面を選択するよう求められます.選択が完了したら、拡張パーティションを選択し、wを押して保存して終了します.
これで、第一歩は完成しました.
ステップ2:パーティション・テーブル情報の再ロード
コマンド:
ステップ3:パーティションのフォーマット
または
最後のステップ:マウント
補足:起動自動マウントを実現するには、/det/fstabファイルを編集します.
この中には6つのキーフィールドがあります.マウントするデバイス:/dev/sda 5,LABEL=NYDATA,UUID="2.マウントポイント:3.ファイルシステムタイプ:4.マウントオプション:複数のオプションがある場合、オプション間はカンマで区切られ、デフォルトdefaultsは複数のオプションを使用する場合、defaults,acl 5.ダンプ頻度:0はバックアップを行わず、1は毎日バックアップを示し、2は翌日バックアップがあまり使われないことを示します.ファイルシステムのセルフテスト順序:0-9 0セルフテストなし、1 POST直接セルフテスト(rootのみ)、2回目(home)、3.
自動フォーマットスクリプト:
このスクリプトでは、ハードディスク(HDD)に3つのプライマリパーティションがあると仮定し、最後のパーティションを拡張パーティションにフォーマットします.
では、このスクリプトを拡張します.ハードディスクが3つのプライマリパーティション、1つの拡張パーティションであると仮定します.スクリプトの役割は次のとおりです.
1.一度に10 GBの論理パーティションを自動的に作成し、MBRを再読み込みする.
2.新しく設立した論理新区をフォーマットする./mintディレクトリの下にこの新しいパーティション名のフォルダを作成し、このパーティションを自動的にマウントします.
ファイルシステムの分類:
ext 2,ext 3,ext 4,ntfs,xfs,jfs,reiserfs,iso,swap,vfatなど.
こんなに多くのファイルシステムでは、プログラム設計時にIO識別ファイルシステムを考慮すると、異なるファイルシステムのIO識別プログラムを書くだけで、大きな仕事になります.
そのため、VFSはファイルシステムとユーザーの間にあり、ユーザーとファイルシステムを調整し、同じ呼び出しインタフェースを提供する中間層仮想ファイルシステムが現れた.
HDDの分類(インタフェース別):
1.ATA(IDE):パラレルポートはアダプタ変換信号133 M/sを必要とするパラレル2本の線が互いに干渉しやすく、一定の設計上限まではだめである.SATA:シリアルポート300 M/S 600 M/S 4 Gbpsは1本の線が干渉しないのでブロック3.SCSI:パラレルsamll computer system interfaceスループットが大きく、寿命が長く、回転速度が高く、エンタープライズクラスのアプリケーションアダプタ自体にコントローラがあり、CPUのように、制御I/Oを完全に実現でき、CPUの負担を大幅に低減し、外部記憶も可能である.SAS:シリアルSCSI:シリアルシミュレーションSCSI 5.USBには他にも
ファイルシステムとハードディスク(HDD)の概念があれば、パーティションの話題に入ることができます.
1つのHDDに最大4つのプライマリパーティションがあるのはなぜですか?これは、各ハードディスクの第1のブロック512バイトがそのブートブロックであるbootloaderであり、446バイトがオペレーティングシステムをブートするためのブートプログラムを格納するために使用され、残りの64バイトがパーティション情報、すなわち、よく知られているハードディスクパーティションテーブルMBRを格納するために使用され、各パーティションのパーティション情報は16バイトであるため、64/16=4のパーティションがプライマリパーティションまたは拡張パーティションとなる.
linuxのパーティションは4つのステップに分かれています.
まずfdisk:
ハードディスク(HDD)を/dev/sdaと仮定
コマンドラインで入力:fdisk/dev/sda
The number of cylinders for this disk is set to 15665.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): // m
いくつかのリレーショナル・イベントのプロパティ
mヘルプdは、パーティションnを削除するために新しいパーティション+10 G分10 Gを作成するために使用され、柱面の大きさのため、p印刷パーティションを正確に分割することができず、既存のパーティションタイプtを表示してパーティションタイプwを調整し、ディスクに書いてqを後悔し、aを保存しないでアクティブパーティションを修正する
nを入力すると、開始柱面と終了柱面を選択するよう求められます.選択が完了したら、拡張パーティションを選択し、wを押して保存して終了します.
これで、第一歩は完成しました.
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 5235 41945715 8e Linux LVM
/dev/sda3 5236 5300 522112+ 82 Linux swap / Solaris
/dev/sda4 5301 15665 83256862+ 5 Extended
/dev/sda5 5301 15665 83256831 83 Linux
ステップ2:パーティション・テーブル情報の再ロード
コマンド:
[root@server45 ~]# partprobe /dev/sda
ステップ3:パーティションのフォーマット
mkfs -t ext2 /dev/sda5
または
mkfs.ext2 /dev/sda5
最後のステップ:マウント
mkdir /mnt/sda5
mount /dev/sda5 /mnt/sda5
補足:起動自動マウントを実現するには、/det/fstabファイルを編集します.
/dev/vol0/root / ext3 defaults 1 1
/dev/vol0/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
この中には6つのキーフィールドがあります.マウントするデバイス:/dev/sda 5,LABEL=NYDATA,UUID="2.マウントポイント:3.ファイルシステムタイプ:4.マウントオプション:複数のオプションがある場合、オプション間はカンマで区切られ、デフォルトdefaultsは複数のオプションを使用する場合、defaults,acl 5.ダンプ頻度:0はバックアップを行わず、1は毎日バックアップを示し、2は翌日バックアップがあまり使われないことを示します.ファイルシステムのセルフテスト順序:0-9 0セルフテストなし、1 POST直接セルフテスト(rootのみ)、2回目(home)、3.
自動フォーマットスクリプト:
#!/bin/bash
fdisk /dev/sda << End
n
e
w
End
このスクリプトでは、ハードディスク(HDD)に3つのプライマリパーティションがあると仮定し、最後のパーティションを拡張パーティションにフォーマットします.
では、このスクリプトを拡張します.ハードディスクが3つのプライマリパーティション、1つの拡張パーティションであると仮定します.スクリプトの役割は次のとおりです.
1.一度に10 GBの論理パーティションを自動的に作成し、MBRを再読み込みする.
2.新しく設立した論理新区をフォーマットする./mintディレクトリの下にこの新しいパーティション名のフォルダを作成し、このパーティションを自動的にマウントします.
#!bin/bash
fdisk /dev/sda << End
n
+10G
w
End
partprobe /dev/sda
F=`fdisk -l /dev/sda | tail -1 | cut -d/ -f3 | awk '{print $1}'`
mkfs /dev/$F
mkdir /mnt/$F
mnt /dev/$F /mnt/$F