แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - golfreeze

Pages: 1 ... 142 143 [144] 145 146
2146
#free | cut -d " " -f
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28

#grep -L -r 'Subject: Shi' .

#find /home/gigi -name '*.c' -print | xargs grep 'hello' /dev/null

#sudo find / -type f -name *.jpg -exec cp {} . \;

find . -type f -size +10000 -exec ls -al {} \;
find . -atime +1 -type f -exec mv {} TMP \; # mv files older then 1 day to dir TMP
find . -name "-F" -exec rm {} \; # a script error created a file called -F
find . -exec grep -i "vds admin" {} \;
find . \! -name "*.Z" -exec compress -f {} \;
find . -type f \! -name "*.Z" \! -name ".comment" -print | tee -a
/tmp/list
find . -name *.ini
find . -exec chmod 775 {} \;
find . -user xuser1 -exec chown -R user2 {} \;
find . -name ebtcom*
find . -name mkbook
find . -exec grep PW0 {} \;
find . -exec grep -i "pw0" {} \;
find . -atime +6
find . -atime +6 -exec ll | more
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . -name auth*
find . -exec grep -i plotme10 {};
find . -exec grep -i plotme10 {} \;
find . -ls -exec grep 'PLOT_FORMAT 22' {} \;
find . -print -exec grep 'PLOT_FORMAT 22' {} \;
find . -print -exec grep 'PLOT_FORMAT' {} \;
find . -print -exec grep 'PLOT_FORMAT' {} \;
find ./machbook -exec chown 184 {} \;
find . \! -name '*.Z' -exec compress {} \;
find . \! -name "*.Z" -exec compress -f {} \;
find /raid/03c/ecn -xdev -type f -print
find /raid/03c/ecn -xdev -path -type f -print
find / -name .ssh* -print | tee -a ssh-stuff
find . -name "*font*"
find . -name hpmcad*
find . -name *fnt*
find . -name hp_mcad* -print
find . -grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep PENWIDTH {} \; | more
find . -name config.pro
find . -name config.pro
find /raid -type d ".local_sd_customize" -print
find /raid -type d -name ".local_sd_customize" -print
find /raid -type d -name ".local_sd_customize" -ok cp
/raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find /raid -type d -name ".local_sd_customize" -exec cp
/raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find . -name xeroxrelease
find . -exec grep xeroxrelease {} \;
find . -name xeroxrelease
find . -name xeroxrelease* -print 2>/dev/null
find . -name "*release*" 2>/dev/null
find / -name "*xerox*" 2>/dev/null
find . -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \; > xeroxrel.lis
find . -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \; | more
find /raid/03c/inwork -xdev -type f -print >> /raid/04d/user_scripts/prt_list.tmp
find . -exec grep '31.53' {} \;
find . -ls -exec grep "31/.53" {} \; > this.lis
find . -print -exec grep "31/.53" {} \; > this.lis
find . -print -exec grep 31.53 {} \; > this.lis
find . -exec grep -i pen {} /;
find . -exec grep -i pen {} \;
find . -print -exec grep -i pen {} \; | more
find . -exec grep -i pen {} \;
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . \! -name '*.Z' -exec compress -f {} \;
find . -name 'cache*' -depth -exec rm {} \;
find . -name 'cache*' -depth -print | tee -a /tmp/cachefiles
find . -name 'cache[0-9][0-9]*' -depth -print | tee -a /tmp/cachefiles
find . -name 'hp_catfile' 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_catfile' -name 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_cat*' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_cat[fl]*' -depth -print | tee -a /tmp/hp.cats
find /raid -name 'hp_cat[fl]*' -depth -print
find . \! -name '*.Z' -exec compress -f {} \;
find . -name '*' -exec compress -f {} \;
find . -xdev -name "wshp1*" -print
find . -xdev -name "wagoneer*" -print
find . -name "xcmd" -depth -print
find /usr/contrib/src -name "xcmd" -depth -print
find /raid -type d -name ".local_sd_customize" -exec ls {} \;
find /raid -type d -name ".local_sd_customize" \
-exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {}
\;

2147
#!/bin/sh

PATH=/usr/sbin:/sbin:/usr/bin:/bin
export PATH

HOME="/home/migrate"

cd {HOME}
if [ -s ${HOME}/email_list ]
then
while read path_old
do
test=`echo $path_old | cut -d \/ -f 2,3,4`
echo "Already copy $path_old /home/$test"
#cp $path_old /home/$test
done < ${HOME}/email_list
cat /dev/null > ${HOME}/email_list
else
exit
fi

2148
##Check and find content of email
find ./ -type f -exec grep "487C2369.5070808@arc.net.my"; {} /dev/null \;

##Find text

ใช้ regular exp ช่วย
โดยจุดประสงค์เพื่อต้องการหา คำว่า ขึ้นต้องด้วยอะไรตาม และเชื่อมด้วย @ แล้วลงท้ายด้วยอะไรตาม ครับ

search = ^(.*).@.(.*)$

# copy file ยกเว้น 1 ไฟล์ครับ
find . -type f -prune ! -name <file to be not copied> -exec cp {} /path/to/newdir \;

#หา mail ที่ลงท้ายด้วย linchee และอยู่ใน path new
find ./ -type f | grep linchee | grep new | more

2149
You can use -mtime option. It returns list of file if the file was last accessed N*24 hours ago. For
example to find file in last 2 months (60 days) you need to use -mtime +60 option.

* -mtime +60 means you are looking for a file modified 60 days ago.
* -mtime -60 means less than 60 days.
* -mtime 60 If you skip + or - it means exactly 60 days.

So to find text files that were last modified 60 days ago, use
$ find /home/you -iname "*.txt" -mtime -60 -print

Display content of file on screen that were last modified 60 days ago, use
$ find /home/you -iname "*.txt" -mtime -60 -exec cat {} \;

Count total number of files using wc command
$ find /home/you -iname "*.txt" -mtime -60 | wc -l

You can also use access time to find out pdf files. Following command will print the list of all pdf
file that were accessed in last 60 days:
$ find /home/you -iname "*.pdf" -atime -60 -type -f

List all mp3s that were accessed exactly 10 days ago:
$ find /home/you -iname "*.mp3" -atime 10 -type -f

There is also an option called -daystart. It measure times from the beginning of today rather than
from 24 hours ago. So, to list the all mp3s in your home directory that were accessed yesterday,
type the command
$ find /home/you -iname "*.mp3" -daystart -type f -mtime 1

2150
ส่วนประกอบของ RAID

RAID Controller

ตัวควบคุมระบบ RAID นั้นใช้ได้ทั้งซอฟต์แวร์และฮาร์ดแวร์ หรือใช้รวมกันก็ได้ ซอฟต์แวร์เช่น Windows NT
4.0 สนับสนุน RAID ระดับ 0 ,1 (Striping , Mirroring) และฮาร์ดแวร์จากผู้ผลิตรายต่างๆ
ซึ่งมีอยู่มากหลากหลาย เช่น Asustek , Adaptec , DCT ,MTI
ซึ่งฮาร์ดแวร์เหล่านั้นมีราคาอยู่ในระหว่างสองหมื่นถึงเป็นล้านบาท

กรณีใช้ซอฟต์แวร์เป็น RAID Controller จะมีข้อจำกัดคือ ระดับที่สนับสนุน คือ 0, 1 (Striping ,
Mirroring) นั้นยังไม่ครอบคลุมระดับ Data Protection ในเรื่องของพาริตี้ ซึ่งมีใน RAID ระดับ 3,5
และใช้กำลังจากโปรเซสเซอร์ ทำให้โปรเซสเซอร์มีเวลาจะไปประมวลผลงานอื่นๆ น้อยลง การใช้ซอฟต์แวร์ควบคุม
มีข้อดีคือ ราคาถูกกว่า ไม่ต้องการอุปกรณ์เพิ่มเติมมากนัก

ส่วนฮาร์ดแวร์ โดยมากจะได้รับการออกแบบที่ดี แต่ฮาร์ดแวร์ก็มีข้อแตกต่างระหว่างยี่ห้อต่างๆ คือ
ประสิทธิภาพในการทำงานแตกต่างกันออกไป การติดตั้งยากกว่าซอฟต์แวร์ควบคุม
และราคาการลงทุนค่อนข้างสูงกว่า
เพราะต้องการอุปกรณ์เพิ่มเติม ไม่ว่าจะเป็นฮาร์ดดิสก์ เคสสำหรับฮาร์ดดิสก์ โดยเฉพาะระบบ "Hot
Swap" แต่ผลของการลงทุนก็คุ้มค่า (เกี่ยวกับ Hardware RAID Controller ดูข้อมูลเพิ่มเติมได้จาก
รู้จักกับ Raid Controller)



ฮาร์ดดิสก์ที่นำมาต่อเป็น Array (Physical Drive)

คือฮาร์ดดิสก์ที่นำมาต่อเข้าเพื่อใช้กับระบบที่จะใช้ RAID จำนวนของฮาร์ดดิสก์นั้น
ขึ้นอยู่กับระดับของ RAID ที่เลือกใช้งาน



ไดรฟ์อะไหล่ (Spare Drive)

เป็นฮาร์ดดิสก์ที่นำมาติดตั้งไว้เป็น "อะไหล่" เผื่อว่าฮาร์ดดิสก์ตัวอื่นๆ ที่ใช้ในระบบ
RAID เกิดชำรุดเสียหาย โดยปกติเมื่อไดรฟ์ตัวใดตัวหนึ่งในระบบเกิดเสียหาย ไดรฟ์ที่เป็น
"อะไหล่" จะถูกสลับเข้าไปใช้งานแทนที่โดยอัตโนมัติทันที



ไดรฟ์ชำรุด (Failed Drive)

ฮาร์ดดิสก์ที่ชำรุดเสียหาย เช่นมี Bad Sector หรือตัวระบบกลไกการทำงานเสียหาย
หรือไม่ตอบสนองต่อการทำงานของ Host SCSI ไดรฟ์พวกนี้ถือเป็น "ไดรฟ์ชำรุด"
จะต้องเอาออกและเปลี่ยนไดรฟ์ดีเข้าไปใหม่



ไดรฟ์ตรรกะ (Logical Drive)

เหมือนกับระบบดอสธรรมดา คือ ไม่ใช่ไดรฟ์จริง เป็นเพียงไดรฟ์สมมุติ แต่ใน RAID ไดรฟ์ตรรกะนั้น
เกิดจากการรวมเอาไดรฟ์อื่นๆ มารวมกัน ให้เกิดความจุสูงขึ้น

Logical Volume
ไม่อยากแปลเป็นไทย เอาเป็นแบบเดิม คงความหมายดีกว่า เมื่อต้องการ "ก้อน"
ของฮาร์ดดิสก์ที่มีความจุมากขึ้น ทำได้โดยการนำเอา "Logical Drive" มารวมเข้าด้วยกันเป็น
Logical Volume นั้นเอง



การจัดการ RAID

เมื่อกล่าวถึงการจัดการ RAID ก็เสมือนว่าเรากำลังคุยกันเกี่ยวกับเทคโนโลยี
"การจัดเก็บข้อมูล" หรือ Storage Technology ซึ่งมีสองส่วนด้วยกันคือ การเลือกระดับของ
RAID ที่เหมาะสมกับการใช้งาน และการจัดการกับไดรฟ์ที่เสียหาย



การเลือกระดับ RAID ที่เหมาะสม

RAID แต่ละระดับมีความเหมาะสมเกี่ยวกับการใช้งาน และความต้องการฮาร์ดแวร์ ซอฟต์แวร์
ฮาร์ดดิสก์แตกต่างกัน ดูอ้างอิงได้จากระดับของ RAID ซึ่งกล่าวไว้คร่าวๆ เกี่ยวกับระดับของ RAID
และการใช้งาน



การจัดการไดรฟ์เสีย

การจัดการกับไดรฟ์เสีย ไม่ได้หมายถึงว่า ฮาร์ดดิสก์เสียแล้ว ถึงค่อยคิดว่า จะจัดการอย่างไร แต่หมายถึง
จะทำอย่างไรกับ "ระบบเผื่อเสีย" หาฮาร์ดดิสก์มา Standby หรือเปิดไว้รอ
เหมือนเตรียมยางรถยนต์อะไหล่ติดไว้ที่ท้ายรถ? อะไหล่หรือ Spare นี่เป็นของ "เผื่อเสีย"
แน่นอน คิดอยากมีระบบ "เผื่อเสีย" ก็ต้องลงทุนบ้าง สำหรับ RAID ก็เช่นเดียวกัน
ต้องลงทุนซื้อไดรฟ์มาไว้ เรียกว่าเป็น Spare Drive ซึ่งมีทั้ง Global Spare Drive และ Local Spare
Drive เป็นสองกลุ่ม ความแตกต่างคือ Local Spare Drive จะเป็นอะไหล่สำหรับ Local Drive เพียงตัวเดียว
(แยกให้ออกนะครับ Local Drive ตัวเดียวหมายถึง 1 "ก้อน" หรือ 1 Volume ซึ่งจะรวมได้หลายๆ
Physical Drive เพราะ Local Drive ในระบบเครือข่าย แตกต่างจาก Local Drive ของพวกเครื่องพีซี) แต่
Global Spare Drive นั้นเป็นอะไหล่สำรองสำหรับ Local Drive 2 ก้อนขึ้นไป



การระบุว่าไดรฟ์ไหนเสีย และการวิเคราะห์อาการเสีย เป็นเทคนิคการออกแบบ RAID Controller
ที่ผู้ผลิตรายต่างๆ ต่างก็แข่งขันกันพัฒนา เพราะโดยคุณสมบัติการออกแบบฮาร์ดดิสก์แบบ SCSI แล้ว
เป็นไปได้ยากที่ RAID Controller จะตรวจสอบว่าไดรฟ์ไหนเสีย
แต่ระบบการตรวจสอบที่เกิดจากการพัฒนาร่วมกันของผู้ผลิต RAID และผู้ผลิตฮาร์ดดิสก์
ที่มีชื่อเทคโนโลยีว่า SAF-TE ก็ทำให้การวิเคราะห์
และวินิจฉัยอาการเสียของฮาร์ดดิสก์เป็นไปได้ง่ายขึ้น



การจัดการกับไดรฟ์เสีย ยังมีระบบสนับสนุนหรืออำนวยความสะดวก ซึ่งทำงานสอดคล้องกับระบบ RAID Controller
อีกส่วนหนึ่งคือ Hot Plug Drive, Hot Swap Drive Bay
ซึ่งหมายถึงการเปลี่ยนฮาร์ดดิสก์โดยอไม่ต้องปิดสวิตช์คอมพิวเตอร์ก่อน
และเมื่อเปลี่ยนแล้วนอกจากสามารถใช้งานได้ทันทีแล้ว หากใช้ระบบ RAID ก็สามารถ "Rebuild"
คือ สร้างระบบ RAID ในฮาร์ดดิสก์ก้อนใหม่ได้ทันที









การเพิ่มขนาดของ Logical Volume

ขนาดของ Logical Drive นั้น ขึ้นกับความจุและจำนวนของฮาร์ดดิสก์ที่นำมาเพิ่มในระบบ RAID โดยปกติระบบ
RAID จะระบุไว้ว่า กรณีใช้ฮาร์ดแวร์ในการควบคุม
ฮาร์ดดิสก์ทั้งหมดที่นำมาเพิ่มในระบบจะต้องมีความจุเท่ากัน การเพิ่มขนาดของ Logical Drive
ทำได้โดยการเพิ่มฮาร์ดดิสก์ SCSI เข้าไปในระบบ



ถ้าเป็นระบบ RAID เก่าๆ การเพิ่มขนาดของ Logical Drive ทำได้โดยการสำรองข้อมูลทั้งหมด
หลังจากนั้นปิดระบบ (ปิดเฉพาะระบบที่ใช้ RAID) ติดตั้งฮาร์ดดิสก์เพิ่มเติมเข้าไปในระบบ และ Config RAID
หรือการสร้าง RAID ขึ้นใหม่ วิธีการนี้มีข้อด้อยคือ ใช้เวลาในการดำเนินใหม่
และต้องการผู้เชี่ยวชาญ เพราะในระบบเครือข่าย ถ้าหากต้องมีการ "ติดตั้งระบบใหม่"
นั้นหมายถึง การ Config ระบบใหม่ทั้งหมด



แต่ระบบคอมพิวเตอร์ที่ใช้ RAID ใหม่ๆ นั้น ใช้หลักการของ Dynamic System Expansion
การขยายขนาดของระบบโดยวิธีการง่ายกว่าเดิม โดยวิธีนี้ต้องใช้กับระบบ RAID ที่เป็น RAID Hardware
Controller เท่านั้น โดยเมื่อเพิ่มฮาร์ดดิสก์เข้าไปในระบบ (จะเป็น Hot Plug หรือ Non Hot-Plug) ก็ได้
หลังจากนั้นใช้ฟังก์ชันในการตรวจจับ (SCSI Harddisk SCAN)
เพื่อตรวจสอบว่ามีฮาร์ดดิสก์ใหม่ถูกติดตั้งเข้าไปในอะเรย์ หลังจากนั้นก็ใช้ฟังก์ชันในการเพิ่มขนาด
Logical Volume โดยการ Assign ฮาร์ดดิสก์ใหม่เข้ากับระบบอะเรย์ เพียงไม่กี่นาทีก็เพิ่มขนาดของ Logical
Volume ได้



การจัดการและตรวจสอบโดย RAID Controller

ฮาร์ดแวร์ RAID Controller ที่ผลิตโดยผู้ผลิตหลายๆ รายๆ มีกลวิธีในการตรวจสอบระบบ DISK Array
โดยเริ่มจากการตรวจสอบตัวคอนโทรลเลอร์เอง ไปจนถึงการตรวจสอบฮาร์ดดิสก์ที่เป็นสมาชิกอะเรย์
ได้แก่การตรวจสอบ disk / PSU / Power / Over-Temp แล้วแสดงค่าความผิดพลาด
พร้อมทั้งแจ้งเตือนกรณีที่ความผิดพลาดนั้น ถือเป็นความผิดพลาดระดับวิกฤติ

2151
RAID 1
RAID 1 มีอีกชื่อหนึ่งว่า disk mirroring จะประกอบไปด้วย harddisk 2
ตัวที่เก็บข้อมูลเหมือนกันทุกประการ
เสมือนการสำรองข้อมูล หาก harddisk ตัวใดตัวหนึ่งเกิดเสียหาย ระบบก็ยังสามารถดึงข้อมูลจาก harddisk
อีกตัวหนึ่งมาใช้งานได้ตามปกติ สำหรับ RAID controller ที่ถูกออกแบบมาเป็นอย่างดีแล้ว การเขียนข้อมูลลง
harddisk 2 ตัวในเวลาเดียวกัน จะใช้เวลาพอๆ กับการเขียนข้อมูลลง harddisk ตัวเดียว
ในขณะที่เวลาในการอ่านก็จะน้อยลง เพราะ RAID controller จะเลือกอ่านข้อมูลจาก harddisk ตัวไหนก็ได้
โดยหากมีคำสั่งให้อ่านข้อมูล 2 ชุดในเวลาเดียวกัน ตัว RAID controller
ก็สามารถประมวลผลคำสั่งเพื่ออ่านข้อมูลจาก harddisk ตัวหนึ่ง และคำสั่งอีกชุดนึงจาก harddisk
อีกตัวนึงก็ได้

จุดเด่นของ RAID 1 คือความปลอดภัยของข้อมูล ไม่เน้นเรื่องประสิทธิภาพและความเร็วเหมือนอย่าง RAID 0
แม้ว่าประสิทธิภาพในการอ่านข้อมูลของ RAID 1 จะสูงขึ้นก็ตาม

RAID 2
ใน RAID 2 นี้ ข้อมูลทั้งหมดจะถูกตัดแบ่งเพื่อจัดเก็บลง harddisk แต่ละตัวใน disk array โดยจะมี
harddisk ตัวหนึ่งเก็บข้อมูลที่ใช้ตรวจสอบและแก้ไขข้อผิดพลาด (ECC - Error Checking and Correcting)
ซึ่งเป็นการลดเปอร์เซ็นต์ที่ข้อมูลจะเสียหายหรือสูญเสียไป เมื่อมีการส่งข้อมูลไปบันทึกใน disk array
จะเห็นได้ว่ามี harddisk ที่เอาไว้เก็บค่า ECC โดยเฉพาะ ถ้าเกิดการปรากฏว่า harddisk
ตัวใดตัวหนึ่งเสียหาย ระบบก็จะสามารถสร้างข้อมูลทั้งหมดใน harddisk ตัวนั้นขึ้นมาได้ใหม่
โดยอาศัยข้อมูลจาก harddisk ตัวอื่นๆ และจากค่า ECC ที่เก็บเอาไว้ ซึ่งการทำ ECC นี้ส่งผลให้ harddisk
ทั้งระบบต้องทำงานค่อนข้างมากทีเดียว และ RAID 2 นั้นจะเห็นได้ว่าต้องใช้ harddisk
จำนวนมากในการเก็บค่า
ECC ซึ่งทำให้ค่อนข้างสิ้นเปลืองครับ

RAID 3
RAID 3 มีลักษณะที่คล้ายกับ RAID 2 แต่แทนที่จะตัดแบ่งข้อมูลในระดับ bit เหมือน RAID 2
ก็จะตัดเก็บข้อมูลในระดับ byte แทนและการตรวจสอบและแก้ไขข้อผิดพลาดของข้อมูล จะใช้ parity แทนที่จะเป็น
ECC ทำให้ RAID 3 มีความสามารถในการอ่านและเขียนข้อมูลได้อย่างรวดเร็ว เพราะมีการต่อ harddisk
แต่ละตัวแบบ stripe และใช้ harddisk ที่เก็บ parity เพียงแค่ตัวเดียวเท่านั้น แต่ถ้านำ RAID 3
ไปใช้ในงานที่มีการส่งผ่านข้อมูลในจำนวนที่น้อยๆ ซึ่ง RAID 3 ต้องกระจายข้อมูลไปทั่วทั้ง harddisk
จะทำให้เกิดปัญหาที่เรียกว่า คอขวด ขึ้นกับ harddisk ที่เก็บ parity
เพราะไม่ว่าข้อมูลจะมีขนาดใหญ่ขนาดไหน RAID 3 ต้องเสียเวลาไปสร้างส่วน parity ทั้งสิ้น
ยิ่งข้อมูลมีขนาดเล็กๆ แต่ parity ต้องสร้างขึ้นตลอด ทำให้ข้อมูลถูกจัดเก็บเสร็จก่อนการสร้าง parity
ทั้งระบบต้องมารอให้สร้าง parity เสร็จก่อน จึงจะทำงานต่อไปได้นั่นเอง

RAID 3 เหมาะสำหรับใช้ในงานที่มีการส่งข้อมูลจำนวนมากๆ เช่นงานตัดต่อ Video เป็นต้น

RAID 4
RAID 4 มีลักษณะโดยรวมเหมือนกับ RAID 3 ทุกประการ ยกเว้นเรื่องการตัดแบ่งข้อมูลที่ทำในระดับ block
แทนที่จะเป็น bit หรือ byte ซึ่งทำให้การอ่านข้อมูลแบบ random ทำได้รวดเร็วกว่า อย่างไรก็ตาม
ปัญหาคอขวดที่กล่าวใน RAID 3 ก็ยังมีโอกาสเกิดขึ้นเหมือนเดิมครับ

RAID 5
มีการตัดแบ่งข้อมูลในระดับ block เช่นเดียวกับ RAID 4 แต่จะไม่ทำการแยก harddisk
ตัวใดตัวหนึ่งเพื่อเก็บ
parity ในการเก็บ parity ของ RAID 5 นั้น จะกระจาย parity ไปยัง harddisk ทุกตัว
โดยปะปนไปกับข้อมูลปกติ
จึงช่วยลดปัญหาคอขวด ซึ่งเป็นปัญหาที่สำคัญใน RAID 3 และ RAID 4 คุสมบัติอีกอันหนึ่งที่น่าสนใจของ RAID
5 คือ เทคโนโลยี Hot Swap คือเราสามารถทำการเปลี่ยน harddisk
ในกรณีที่เกิดปัญหาได้ในขณะที่ระบบยังทำงานอยู่ เหมาะสำหรับงาน Server ต่างๆ ที่ต้องทำงานต่อเนื่อง

RAID 6
RAID 6 อาศัยพื้นฐานการทำงานของ RAID 5 เกือบทุกประการ แต่มีการเพิ่ม parity block เข้าไปอีก 1 ชุด
เพื่อยอมให้เราทำการ Hot Swap ได้พร้อมกัน 2 ตัว (RAID 5 ทำการ Hot Swap ได้ทีละ 1 ตัวเท่านั้น หาก
harddisk มีปัญหาพร้อมกัน 2 ตัว จะทำให้เสียทั้งระบบ) เรียกว่าเป็นการเพิ่ม Fault Tolerance ให้กับระบบ
โดย RAID 6 เหมาะกับงานที่ต้องการความปลอดภัยและเสถียรภาพของข้อมูลที่สูงมากๆ

RAID 7
RAID 7 อาศัยพื้นฐานการทำงานของ RAID 4 โดนเพิ่มคุณสมบัติบางอย่างเข้าไป เพื่อทำให้ harddisk
แต่ละตัวทำงานอิสระต่อกัน ไม่จำเป็นต้องรอให้ harddisk ตัวใดตัวหนึ่งทำงานเสร็จก่อน
(ซึ่งทำให้เกิดปัญหาคอขวดใน RAID 4) โดยการส่งข้อมูลแต่ละครั้ง จะทำการส่งผ่าน X-Bus
ซึ่งเป็นบัสที่มีความเร็วสูง RAID 7 ยังมีหน่วยความจำแคชหลายระดับในตัว RAID Controller
เพื่อแยกการทำงานให้อิสระต่อกัน โดยจะมี Real-Time Operating System อยู่ภายในส่วนที่เรียกว่า Array
Control Processor ทำหน้าที่ควบคุมการส่งข้อมูลบนบัส

RAID 7 เหมาะสำหรับใช้ในองค์กรขนาดใหญ่ เชื่อมต่อได้สูงสุดถึง 12 host 48 drives และราคาของระบบ RAID 7
ค่อนข้างที่จะสูงมาก ด้วย RAID 7 เป็นลิขสิทธิ์เฉพาะของบริษัท Storage Computer Corporation
ทำให้ผู้ใช้งาน RAID 7 ไม่สามารถปรับแต่งอะไรกับเครื่องเลย ทำให้ RAID 7 ไม่ค่อยได้รับความนิยมมากนัก

RAID 10
RAID 10 หรือ RAID 0+1 เป็นการผสมผสานระหว่าง RAID 0 และ RAID 1 เข้าด้วยกัน
ทำให้การเข้าถึงข้อมูลเป็นไปได้อย่างรวดเร็ว และมีการทำ mirror ข้อมูล (backup ข้อมูล) ไปด้วย
ข้อเสียของ RAID 10 คือการเพิ่มจำนวน harddisk ในอนาคตเป็นไปได้ยาก เพราะ harddisk แต่ละตัวมี mirror
เป็นของตัวเอง ยิ่งเพิ่ม harddisk เพื่อใช้งานก็ต้องเพิ่ม harddisk เพื่อ backup ไปด้วย เหมาะสำหรับ
Server ที่ต้องการความเร็วในการเข้าถึงข้อมูลค่อนข้างมาก และไม่ต้องการความจุมากนัก

RAID 53
RAID 53 มีอัตราความเร็วการเข้าถึงข้อมูลค่อนข้างสูง เพราะมีพื้นฐานการทำงานของ RAID 0 อยู่
และมีการป้องกันความเสียหายที่จะเกิดขึ้นได้ เหมือน RAID 3 ซึ่งแน่นอนว่ายังมีปัญหาคอขวดด้วย นอกจากนี้
RAID 53 ยังสามารถทำ Hot Swap ได้เหมือนใน RAID 5 ครับ

2152
RAID ที่นิยมกันก็มี 0 , 1 , 5 , 0+1 , 1+0 เท่านั้นเอง บางคนอาจสงสัยว่า มีด้วยเหรอ RAID 1+0
อ่านต่อกันนะครับ

คำอธิบาย Logic Drive หมายถึง Drive ที่สร้างขึ้นมาจาก RAID นะครับ

RAID 0
RAID 0 เป็นแบบที่ง่ายและเป็นพื้นฐานที่สุดเลย คือ ทำการรวม HDD 2 ตัว (หรือมากกว่า) ให้กลายเป็น HDD
ตัวเดียวกัน (เรียกว่า Logic Drive) เช่น ถ้ามี HDD 40G 2 ตัว ตัวแรกจะเป็น C อีกตัวก็จะเป็น D
เมื่อเราแปลงเป็น RAID 0 เนื้อที่ของทั้ง 2 ตัวก็จะรวมกันเป็น Drive เดียวกัน ชื่อ C มีขนาด 80G
โดยเมื่อแปลงเป็น RAID 0 แล้ว OS และโปรแกรมต่างๆ ก็จะมอง Drive ใหม่นี่ เสมือนเป็น Drive
เดีวยวกันที่สามารถอ่านเขียนข้อมูลต่างๆ ได้ตามปกติ
ข้อดี คือ ทำให้การอ่านหรือเขียนข้อมูลเร็วขึ้นมาก เพราะมีหัวอ่าน/เขียนข้อมูลเพิ่มมากขึ้น (ในระบบ
SCSI
นะครับ ถ้า IDE หัวอ่านเพิ่มขึ้น ก็ไม่เร็วขึ้นหรอก ไปอ่านที่ อันแรกก็ได้ครับ)
และมันยังขยายเนื้อที่สำหรับเก็บข้อมูลได้ง่ายขึ้นด้วย
ข้อเสีย เนื่องจากมันไม่ได้ทำการสำรองข้อมูลเลย หรือแม้แต่ Parity Bit มันก็ไม่ได้ทำ (แม้แต่นิดเดียว)
ถ้า HDD ตัวไหนเสีย มันจะทำให้ Logic Drive ที่เราสร้างขึ้น เสียไปทั้งหมด ข้อมูลของเราก็จะหมดไปด้วย
(เศร้า)

RAID 1
RAID 1 ต่างจาก RAID 0 แบบว่า หน้ามือเป็นหลังมือเลย เนื่องจาก RAID 1 จะเก็บข้อมูลทั้งหมดลง HDD
ตัวแรก
เหมือนการใช้งานทั่วๆ ไป แต่จะมี HDD ตัวที่สองเพิ่มเข้ามา เราเรียก HDD ตัวนี้ว่า MIRRORING หรือ
DUPLEXED โดยที่ HDD ตัวทั่สองนี้ จะทำการสำรองข้อมูลจากตัวแรก เพื่อป้องกันการสูญหายของข้อมูล
โดยมีข้อกำหนดว่า HDD ทั้ง 2 ตัว ต้องขนาดเท่ากันพอดี ถ้าเป็นไปได้ ควรจะเป็นยี่ห้อ
และรุ่นเดียวกันด้วย
ข้อดี อย่างที่เห็นล่ะครับ ข้อมูลจะถูกสำรองไว้ตลอดเวลา ไม่ต้องกลัวว่าจะหายเลย ถ้า HDD ตัวไหนเสีย
อีกตัวก็จะขึ้นมาทำงานแทนทันที ถ้าเป็น Server ที่มีระบบ Hot Swap เราสามารถถอด HDD ตัวที่เสีย
ไปเปลี่ยน แล้วเอาตัวใหม่มาใส่ได้ทันที โดยไม่ต้องปิดเครื่องเลย เมื่อเราเอา HDD ตัวใหม่มาใส่
ระบบก็จะทำการสำรองข้อมูลไปที่ HDD ตัวใหม่เอง โดยอัตโนมัติ และข้อดีอีกอย่างคือ
มันสามารถเลือกที่จะอ่านข้อมูลจาก HDD ตัวไหนก็ได้ ทำให้มันอ่านข้อมูลได้เร็วขึ้น
ข้อเสีย เนื่องจากมันต้องเขียนข้อมูลลง HDD ถึง 2 ตัวต่อข้อมูล 1 ชุด
ทำให้ภาระในการเรียนข้อมูลมีมากขึ้นเป็น 2 เท่าเลย ทำให้เวลาในการเขียนข้อมูลมากกว่าปกติ
และระบบนี้ใช้เงินเยอะพอสมควร เพราะต้องใช้ HDD 2 ชุด ต่อข้อมูล 1 ชุด

RAID 0 + 1
RAID 0+1 คือการนำข้อดีของ RAID 0 และ RAID 1 มารวมกัน ทำให้มีการรวมเนื้อที่จาก HDD หลายๆ
ตัวเข้าด้วยกัน ละมีการทำสำเนาไปพร้อมกันด้วย โดยต้องนำ HDD มาแปลงเป็น RAID 0 จำนวน 2 ชุดก่อน
ทำให้ได้
Logic Drive ที่มีเนื้อที่ของ HDD มารวมกัน แล้วจึงสร้าง RAID 1 ขึ้นมาอีกทีจาก Logic Drive ทั้ง 2 ชุด
ข้อเสีย เปลือง HDD อย่างมาก และถ้า HDD ตัวไหนเสียไป อาจทำให้ Logic Drive เสีย และเจ้งทั้งระบบ

RAID 1 + 0
RAID 1+0 มีการทำงานเหมือนกับ RAID 0+1 เพียงแต่จะเริ่มสร้าง RAID 1 มาก่อน 2 ชุด
เพื่อทำการสำรองข้อมูลกันก่อน แล้วค่อยสร้าง RAID 0 ขึ้นมาอีกที เพื่อรวมข้อมูลทั้งหมดเข้าด้วยกัน
วิธีนี้เป็นที่นิยมมากกว่า RAID 0+1 อีกนะ (ผมก็ใช้ตัวนี้)
ข้อดี ถ้า HDD ตัวไหนเสีย จะไม่ทำให้ Logic Drive เสียไปด้วย
ข้อเสีย เปลือง HDD มากกว่า RAID 0+1 อีก ;-(

RAID 5
RAID 5 ได้นำข้อดีของ RAID แบบต่างๆ มารวมไว้ในตัวเอง คือ ราคา ประสิทธิภาพ
และความสามารถในการป้องกันข้อมูลสูญหาย เพราะ RAID แบบต่างๆ จะมีข้อดีไม่ครบทั้งหมด
คืออย่างมากก็ได้แค่
2 ใน 3 อย่าง RAID 1+0 ประสิทธิภาพดี ป้องกันข้อมูลได้ แต่แพงโคตร RAID 5 ต้องการ HDD 3 ตัวในการทำงาน
โดยนำเนื้อที่ของ HDD แต่ละตัวมาเก็บรวมกันเป็น 1 Logic Drive เหมือนการทำงานของ RAID 0 แล้วสร้าง
Parity Bit เพื่อใช้xxx้ข้อมูลของแต่ละ Drive ขึ้นมาโดยแยกออกไปเขียนใน Drive อื่นๆ เช่น Parity Bit
ของ
HddA จะนำไปไว้ที่ HddC ของ HddC ก็จะนำไปไว้ที่ HddB ส่วนของ HddB ก็จะนำไปไว้ที่ HddA วนกันไป 555
ข้อดี ข้อมูลไม่หายแน่นอน เพราะมีการเก็บ Parity ไว้ใน HDD แต่ละตัว แล้วความเร็วในการอ่านข้อมูล
ก็เยอะมากๆ ด้วย เนื่องจากมี HDD ถึง 3 ตัวนี่
ข้อเสีย เขียนข้อมูลได้ช้ามากๆ เนื่องจากต้องเขียนข้อมูลแล้ว ยังต้องไปเขีนยน Parity อีก
แล้วยังต้องใช้
HDD ถึง 3 ตัว ซึ่งเปลืองมาก (แต่ก็น้อยกว่า RAID 1+0) และอัตราความเร็วในการเขียนข้อมูลก็ช้ามากๆ

2154
###Freebsd style

#cfgmaker
/usr/local/bin/cfgmaker --global "options[_]: growright,bits" --global
WorkDir:/usr/local/www/apache22/data/mrtg --output=/usr/local/etc/mrtg/mrtg.cfg public@10.17.200.22

#indexmaker
/usr/local/bin/indexmaker /usr/local/etc/mrtg/mrtg.cfg --columns=1 --output
/usr/local/www/apache22/data/mrtg/index.html

#run 3 ครั้ง
env LANG=C /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg

2155
เกิด error

Can't locate SNMP_util.pm in @INC (@INC contains: /usr/local/bin/../lib/mrtg2 /usr/local/bin
/usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach
/usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach
/usr/local/lib/perl5/5.8.8 .) at /usr/local/bin/cfgmaker line 105.

ใน Freebsd ขึ้นมา แก้โดยลง package ข้างล่างเพิ่มครับ

# cfgmaker public@127.0.0.1
Can't locate SNMP_util.pm in @INC (@INC contains: /usr/local/bin/../lib/mrtg2 /usr/local/bin
/usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach
/usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach
/usr/local/lib/perl5/5.8.8 .) at /usr/local/bin/cfgmaker line 105.

Turned out SNMP_util is missing and required a quick install of SNMP_Session to make cfgmaker work.

cd /usr/ports/*/p5-SNMP_Session
make install clean

2156
ถ้าขึ้น error อย่างนี้

[root@mrtg]# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
Thursday, 21 January 2010 at 9:37: ERROR: Target[cpu][_IN_]
'.1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2: public@127.0.0.1' (warn): (Missing
operator before ?)
Thursday, 21 January 2010 at 9:37: ERROR: Target[cpu][_OUT_]
'.1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2: public@127.0.0.1' (warn): (Missing
operator before ?)
Thursday, 21 January 2010 at 9:37: ERROR: Target[mem][_IN_]
'.1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0: public@127.0.0.1' (warn): (Missing
operator before ?)
Thursday, 21 January 2010 at 9:37: ERROR: Target[mem][_OUT_]
'.1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0: public@127.0.0.1' (warn): (Missing
operator before ?)
Thursday, 21 January 2010 at 9:37: ERROR: Target[server.newconns][_IN_]
'tcpPassiveOpens.0&tcpActiveOpens.0: public@127.0.0.1' (warn): (Missing operator before
?)
Thursday, 21 January 2010 at 9:37: ERROR: Target[server.newconns][_OUT_]
'tcpPassiveOpens.0&tcpActiveOpens.0: public@127.0.0.1' (warn): (Missing operator before
?)
Thursday, 21 January 2010 at 9:37: ERROR: Target[server.estabcons][_IN_]
'tcpCurrEstab.0&tcpCurrEstab.0: public@127.0.0.1' (warn): (Missing operator before ?)
Thursday, 21 January 2010 at 9:37: ERROR: Target[server.estabcons][_OUT_]
'tcpCurrEstab.0&tcpCurrEstab.0: public@127.0.0.1' (warn): (Missing operator before ?)

ลองเช๊คดู syntax ของ config ด้วยครับว่ามี เว้นวรรคตรง : public@127.0.0.1 ถ้ามี ก็ลบ space bar ไป 1
ช่องครับให้ค่ามันติดกัน

เป็น :public@127.0.0.1 แล้วสั่งรัน command ใหม่
[root@mrtg]# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
3 ครั้งครับ

2157
### Load Average ###
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:public@127.0.0.1

ไม่มี space bar นะ ต้องต่อกันนะครับ ต้องเช๊คที่ config ด้วย ไม่งั้นจะ error ครับผม

2158
เพิ่มเติม ถ้า graph ของ traffic ออกมา แค่ 10M เป็นเพราะ ค่า default มัน เป็น ethernet ธรรมดา support
แค่ 10M แต่ถ้าเว็บท่าน มี traffic มากกว่า 10 M ก็ แก้ไขตามนี้ น่ะครับ

จัดการ สร้าง สร้าง config ใหม่โดย

#cfgmaker --global 'options[_]: growright,bits' --global 'WorkDir: /home/golf/xxx'
--output=/etc/mrtg.cfg public@127.0.0.1

แก้ไขไฟล์ /etc/mrtg.cfg
MaxBytes[127.0.0.1_2]: 1250000

เพิ่ม "0" อีกตัวน่ะครับ เพราะจะได้ support กับ fast ethernet

MaxBytes[127.0.0.1_2]: 12500000

สั่งสร้าง index.html ใหม่

#indexmaker /etc/mrtg.cfg --columns=1 --output /home/golf/xxx/index.html

ใน debian สั่ง mrtg 3 ครั้ง
#mrtg
#mrtg
#mrtg

แค่นี้ ก็ เรียบร้อย ครับ อิอิ

2159
ใช้ OS Debian 3.1
1.สั่งโหลด จาก mirror ในไทยครับ
โดยเพิ่มไปที่ /etc/apt/sources.list
แล้วสั่ง apt-get update แล้ว

#aptitude install snmpd
#aptitude install mrtg

แล้วมา config

#/etc/snmp/snmpd.conf

ให้เอา # ใส่หน้า คำสั่ง

com2sec paranoid default public

แล้วเอาเครื่องหมาย # ออกจากคำสั่ง

com2sec readonly default public

แล้วสั่ง daemon start

#/etc/init.d/snmpd restart

แล้วต่อไปมา config ไฟส์ mrtg บ้าง

แล้วพิมพ์ ตามนี้เพื่อทำการ สั่งให้สร้าง config


#cfgmaker --global 'options[_]: growright,bits' --global 'WorkDir: /home/golf/xxx' --output=/etc/mrtg.cfg public@127.0.0.1

การเพิ่มกราฟ นั้นไม่จำต้องลบไฟส์ในห้อง DocumentRoot ออกก็ได้น่ะครับแต่เพิ่มกราฟ establish กับ tcp
connection ดังนี้ในไฟส์ดังนี้ (ผมใช้เป็น OS Debian 3.1 ครับ)

#vi /etc/mrtg,cfg

โดยเพิ่ม

### Load Average ###
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2: public@127.0.0.1
MaxBytes[cpu]: 100
Unscaled[cpu]: dwmy
Options[cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[cpu]: CPU Load(%)
ShortLegend[cpu]: (%)
LegendI[cpu]: &nbsp; CPU System
LegendO[cpu]: &nbsp; CPU User
Title[cpu]: CPU Analysis
PageTop[cpu]: <H1>CPU Analysis</H1>

### Memory Free ###
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0: public@127.0.0.1
MaxBytes1[mem]: 1030288
MaxBytes2[mem]: 1052216
Unscaled[mem]: dwmy
Options[mem]: gauge, absolute, growright, noinfo
YLegend[mem]: Memory Free
ShortLegend[mem]: Bytes
kilo[mem]: 1024
kMG[mem]: k,M,G,T,P
LegendI[mem]: Real
LegendO[mem]: Swap
Legend1[mem]: (MBytes)
Legend2[mem]: (MBytes)
Title[mem]: Memory Analysis
PageTop[mem]: <H1>Memory Analysis</H1>

### New TCP Connection Monitoring (per minute) ###
Target[server.newconns]: tcpPassiveOpens.0&tcpActiveOpens.0: public@127.0.0.1
Title[server.newconns]: Newly Created TCP Connections
PageTop[server.newconns]: <H1>New TCP Connections</H1>
MaxBytes[server.newconns]: 10000000000
ShortLegend[server.newconns]: c/s
YLegend[server.newconns]: Conns / Min
LegendI[server.newconns]: In
LegendO[server.newconns]: Out
Legend1[server.newconns]: New inbound connections
Legend2[server.newconns]: New outbound connections
Options[server.newconns]: growright,nopercent,perminute

### Established TCP Connections ###
Target[server.estabcons]: tcpCurrEstab.0&tcpCurrEstab.0: public@127.0.0.1
Title[server.estabcons]: Currently Established TCP Connections
PageTop[server.estabcons]: <H1>Established TCP Connections</H1>
MaxBytes[server.estabcons]: 10000000000
ShortLegend[server.estabcons]:
YLegend[server.estabcons]: Connections
LegendI[server.estabcons]: In
LegendO[server.estabcons]:
Legend1[server.estabcons]: Established connections
Legend2[server.estabcons]:
Options[server.estabcons]: growright,nopercent,gauge

และสุดท้ายก็สั่ง คำสั่งข้างล่างนี้เพื่อให้แสดง output ออกมาที่ไฟส์ไหนถ้ารูปไม่ออกอาจเกิดจากการระบุ
output ผิดครับ

#indexmaker /etc/mrtg.cfg --columns=1 --output /home/golf/xxx/index.html

แล้วสั่ง mrtg 3 ครั้งสำหรับ Debian ครับ

#mrtg
#mrtg
#mrtg

แต่ถ้าเป็น ubuntu 6.06ให้สั่ง

#env LANG=C /usr/bin/mrtg /etc/mrtg.cfg
#env LANG=C /usr/bin/mrtg /etc/mrtg.cfg
#env LANG=C /usr/bin/mrtg /etc/mrtg.cfg

3 ครั้งน่ะครับ

จะได้กราฟตามนี้ครับที่ ===> http://www.saiyaithai.org/mrtg

2160
สำหรับ hard link ที่ใช้กัน ส่วนใหญ่ จะเป็น

เป็นการสร้างเพื่อ ชี้มาที่ inode เดียวกัน

ไฟล์ A---->inode 0001
สร้างhard link ไปที่ไฟล์ B และ ไฟล์ C ชี้ไปที่ ไฟล์ A ซึ่งมี inode = 0001
ไฟล์ B ก็ชี้ไปที่ inode 0001
ไฟล์ C ก็ชี้ไปที่ inode 0001

ดังนั้น
-ถ้าเราทำการแก้ไข ไฟล์ต้นฉบับ (A) ไปก็จะส่งผลกระทบต่อไฟล์ที่เชื่อมโยง (B) และ (C) ด้วย เพราะมี inode
เดียวกัน
-ถ้าเราทำการลบ ไฟล์ A ไป ไฟล์ C ก็ยังเข้าได้ผ่านไฟล์ B ได้ เพราะชี้ไปที่ inode เดียวกัน
-แต่ถ้าเราลบไฟล์ B ไปอีก ไฟล์ C จะเข้าไม่ได้ เพราะมันไม่ไฟล์ให้เข้าถึงอีก

แต่ข้อเสีย ของ hard link คือใช้งานกับ directory ไม่ได้ หรือข้าม partition ไม่ได้
เหมาะกับการเอาไปเป็นข้อมูล backup
ที่เป็นไฟล์สำคัญๆและป้องกันข้อมูลสูญหายมากกว่า
----------------------------------------------------------------------------------------------

Soft link (symlink) เหมือนการทำ short cut ซึ่งจะทำการสร้าง inode ออกมาจาก ตัว inode หลักนั้นๆ

เมื่อมีการสร้างไฟล์ A และสร้าง soft link ไฟล์ B และ C
ก็จะทำการสร้าง inode ของไฟล์นั้นเข้ามาใหม่ ทำให้ inode ไม่ซ้ำกับไฟล์ต้นฉบับ

ซึ่งถ้า มีไฟล์ symlink_file อยู่ต้องการสร้าง soft link ไปที่ไฟล์หลัก
soource_file จะทำได้โดย
#ln -s source_file symlink_file
ถ้าเราทำการลบไฟล์ source_file ไปก็จะทำให้เข้าไปใช้งานไฟล์ symlink_file ไม่ได้
เพราะว่า inode หลักที่อ้างถูกลบไปแล้ว

แต่ข้อดีของ soft link คือสามารถทำผ่าน partition ได้ครับ

ถ้ามีปัญหาสงสัย ก็โฟสไว้ได้น่ะครับ
golfreeze[at]packetlove.com

Pages: 1 ... 142 143 [144] 145 146