« לעמוד בלוג ראשי

בדיקת נפח דיסק פנוי במערכת וחשיבותה

תמיד חשוב שיהיה מספיק נפח דיסק פנוי בשרתים לצורך פעולות שבשגרה, כגון שמירת מידע, גיבויים, תהליכים שונים הרצים בInstances של שרת הSQL וכיו”ב. אם כן, כיצד נבצע בדיקת נפח דיסק פנוי בשרת?

הדרך הסטנדרטית לבדוק נפח דיסק פנוי בשרת מתוך הSQL Server Management Studio היא כדלקמן:
הפרוצדורה sys.xp_fixeddrives (גירסאות SQL 2005 ומעלה) בודקת נפח דיסק פנוי, כדי לבדוק האם נפח הדיסק הפנוי שיש לנו גדול מהמינימום הנדרש הידוע לנו נבנה את הפרוצדורה הבאה:

CREATE PROCEDURE dbo.spExec_SufficientDiskSpace @MinMBFree int, @Drive char(1) AS

/*
—————————————————————————-
— Object Name: dbo.spExec_SufficientDiskSpace
— Dependent Objects: master.sys.xp_fixeddrives
— Called By: Admin Scripts
————————————————————————————–
*/

SET NOCOUNT ON

— 1 – Declare variables
DECLARE @MBfree int

— 2 – Initialize variables
SET @MBfree = 0

— 3 – Create temp tables
CREATE TABLE #tbl_xp_fixeddrives
(Drive varchar(2) NOT NULL,
[MB free] int NOT NULL)

— 4 – Populate #tbl_xp_fixeddrives
INSERT INTO #tbl_xp_fixeddrives(Drive, [MB free])
EXEC master.sys.xp_fixeddrives

— 5 – Initialize the @MBfree value
SELECT @MBfree = [MB free]
FROM #tbl_xp_fixeddrives
WHERE Drive = @Drive

— 6 – Determine if sufficient free space is available
IF @MBfree > @MinMBFree
BEGIN
RETURN
END
ELSE
BEGIN
RAISERROR (‘*** ERROR *** – Insufficient disk space.’, 16, 1)
END

— 7 – DROP TABLE #tbl_xp_fixeddrives
DROP TABLE #tbl_xp_fixeddrives

SET NOCOUNT OFF
GO

בדרך הסטנדרטית, נאלץ להוסיף לכל תהליך שדורש נפח דיסק פנוי מסויים שורת קוד שתריץ את הפרוצדורה המופיעה מעלה כאשר בפרמטר @MinMBFree מופיע נפח הדיסק הפנוי המינימלי הנדרש לו וב@Drive אות הכונן בו משתמש התהליך. אם נרצה לשלוח התרעה בדוא”ל על חוסר מקום פנוי נאלץ לעטוף את הקוד בHTML כדי לאפשר את השליחה.
לעומת זאת, מערכת AimBetter מנטרת את הנפח הפנוי של כל הדיסקים בכל השרתים שהגדרנו בה באופן שוטף ומסוגלת להתריע לנו על ירידת נפח פנוי של כל דיסק מתחת לסף שאנו יכולים להגדיר הן ברמת החברה, הן ברמת השרת והן ברמת הדיסק הספציפי לבחירתנו ובנוסף לכך אנו יכולים אף להשוות את נפחי הדיסקים הפנויים על בסיס פרקי זמן (יומי, שבועי, חודשי) בין פרקי זמן שונים וכך לדעת האם התבנית לה אנחנו עדים במועד הבדיקה היא תבנית שגרתית או חריגה ולפעול בהתאם.

SCREEN1

מערכת AimBetter דוגמת כל שרת שהוגדר לה כל דקה וכך בכל רגע בו תיכנס למערכת תוכל מיד לראות מהו נפח הדיסק הפנוי בכל דיסק בכל שרת המנוטר ע”י המערכת ללא צורך להריץ סקריפטים כלשהם.

SCREEN2

לא זו בלבד שמערכת AimBetter מאפשרת לך לדעת בכל רגע נתון כמה נפח מנוצל מתוך כל דיסק, היא גם מאפשרת לך לדעת כמה מתוך נפח הדיסק שלך נמצא בכל רגע במצב “עסוק” (קריאה או כתיבה).
מערכת AimBetter יכולה גם לשלוח התרעות בדואר אלקטרוני בהתאם לדרישותיך כך שתוכל לדעת על כל חריגה מהסף שהגדרת באופן מיידי ברגע שהיא מתרחשת ולחסוך ממך את הצורך לבצע בדיקה לפני כל תהליך שצורך נפח דיסק.
אם כן, במידה ונפח הדיסק הפנוי הוא גורם קריטי בארגונך, מערכת AimBetter תוכל לנטר אותו באופן שוטף, לאפשר לך לראות מגמות ולהתריע בפניך על כל ירידה מתחת לסף הרלוונטי עבורך, לכן מערכת AimBetter היא הפתרון הטוב ביותר עבורך.