Tag-Archive for » ubuntu «

יום ראשון, אוגוסט 4, 2013 | מְחַבֵּר:

ההיסטוריה

הרבה השתנה מאז שציינתי האחרון שלי שרת אישי – הוא גדל בקפיצות (עכשיו יש לו 7TB MD RAID6) וזה כבר היה לאחרונה מחדש עם אובונטו שרת.

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

החלל הוא לא בחינם – וגם הוא חלל

ההזדמנות לעבור לאובונטו הייתה העובדה שהייתה לי נגמר SATA יציאות, היציאות הנדרשות לחיבור כוננים קשיחים לשאר המחשב – כי מערך RAID 7TB משתמש הרבה יציאות! אני אפילו נתתי לי משם מאוד דיסק קשיח 200GB ישן כפי שהוא לקח את אחת מהיציאות האלה. אני גם הזהרתי שנמען של הדיסק SMART הניטור הצביע עליו היה לא אמין. כפתרון זמני למחסור ביציאות SATA, אני אפילו נדדתי מערכת ההפעלה של השרת לסדרה של ארבעה מקלות USB בMD RAID1. משוגע. אני יודע. אני לא הייתי מאושר במיוחד ממהירות. החלטתי לצאת ולקנות כונן קשיח חדש ואמין כרטיס הרחבה מסוג SATA ללכת עם זה.

מחיצת הקשת העיקרית של השרת הייתי משתמשת על 7GB של דיסק. נתח גדול של שהיה להחליף קובץ, נתוני מטמון וקבצים אחרים שונים או מיותר. בסך הכל בגודל האמיתי של מערכת ההפעלה, כולל /הבית אוגדן, היה רק ​​על 2GB. זה גרם לי להסתכל לתוך סופר מהיר SSD לנהוג, חשבתי אולי אחד קטן לא יכול להיות כל כך יקר. התברר כי כונן SSD שאינו הזול ביותר שיכולתי למצוא דווקא יעלה יותר מאחד מכונני SSD הקטנים יחסית אלה. Yay עבורי. 🙂

בחירה? Woah?!

בבחירת מערכת ההפעלה, אני כבר החלטתי שזה לא יהיה קשת. מתוך כל ההפצות הפופולריות האחרות, אני מכיר את רוב עם אובונטו ו CentOS. פדורה הייתה גם אפשרות – אבל ברצינות, אני עדיין לא נחשב זה לשרת. אובונטו ניצח בסיבוב.

ההחלטה הבאה הייתי צריך לעשות לא עלתה בדעתי עד המצאות בכל מקום (אשף ההתקנה של אובונטו) בקש אותו ממני: כיצד להגדיר את מחיצות.

הייתי חדש לשימוש בכונני SSD ב-Linux – אני מודע היטב לחסרונות של שימוש לא נכון בם, בעיקר בשל הסיכון של אריכות ימים הגרועה שלהם, אם נעשה שימוש לרעה.

אני לא רוצה להשתמש במחיצת swap ייעודית. אני מתכנן על שדרוג הלוח האם / המעבד / זיכרון של השרת לא רחוק מדי בעתיד. בהתבסס על כך החלטתי שאני אשים swap לקובץ דפדוף RAID md הקיים. ההחלפה לא תהיה מהירה במיוחד, אבל המטרה היחידה שלו תהיה שלאירוע נדיר כשמשהו השתבש והזיכרון אינו זמין.

זה אז עזב אותי כדי לתת לי נתיב שורש 60GB המלא מתוך אינטל 330 SSD. אני נחשב הפרדה / בית אבל זה פשוט נראה לי קצת חסר טעם, ניתן כמה מעט הייתה בשימוש בעבר. אני ראשון להגדיר את המחיצה עם LVM – משהו שאני כבר עושה לאחרונה בכל פעם שאני מגדיר את תיבת לינוקס (ממש, אין שום תירוץ שלא להשתמש LVM). כשזה הגיע לחלק שבו הייתי להגדיר את מערכת קבצים, אני לוחץ נפתח ואינסטינקטיבי נבחרתי ext4. ואז שם לב btrfs באותה הרשימה. תחזיק חזק!!

אבל מה?

Btrfs (“חמאה-EFF-ESS”, “טוב יותר-EFF-ESS”, “דבורת עץ-EFF-ESS”, או כל מה שעולה ביום) הוא יחסית מערכת קבצים חדשה שפותחה על מנת להביא לינוקס’ יכולות מערכת קבצים בחזרה על מסלול עם מערכת הקבצים טק הנוכחי. המלך-of-the-Hill, קיים מערכת קבצים, “שלוחה” (הגרסה הנוכחית נקראת ext4) הוא די טוב – אבל זה מוגבל, תקוע בפרדיגמה ישנה (חושב על מותג חדש F22 ראפטור לעומת. an F4 פנטום עם ניסיון חצי התבדח בשדרוג שקילות) ולא סביר שיהיה מסוגל להתחרות לאורך זמן עם מערכות קבצים ארגוניים חדשים יותר כגון ZFS של אורקל. Btrfs עדיין יש עוד דרך ארוכה לעבור ועדיין נחשבת הניסיון (תלוי את מי שואל ומה תכונות שאתה צריך). רבים מחשיבים אותה להיות יציב לשימוש בסיסי – אבל אף אחד לא הולך לעשות שום ערבויות. ו -, כמובן, כולם אומרים לעשות ובדוק את גיבויים!

Mooooooo

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

כדי להפוך את העניינים מעניינים, פרה במערכת הקבצים בקלות הולכת יד ביד עם תכונה בשם מניעת כפילויות. זה מאפשר לשניים (או יותר) בלוקים זהים של נתונים להיות מאוחסנים רק באמצעות עותק יחיד, חוסך מקום. עם פר, אם קובץ מניעת כפילויות הוא שונה, התאום הנפרד לא יושפע כפי שנכתבו נתונים של הקבצים השונים לחסימה פיזית שונה.

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

חבר חדש

עם מעל במוח, במיוחד כפי שאובונטו עשה btrfs זמין כאפשרות התקנה בזמן, תארתי לעצמי שזה יהיה זמן טוב לצלול לתוך btrfs ולחקור קצת. 🙂

חלק 2 בקרוב …

לחלוק
Thursday, January 01st, 2009 | מְחַבֵּר:

Apparently, what operating system you use can say a lot about you. If you’re using some form of *nix, which distro you’re using can say a lot as well. Redundancy aside, I believe that a Linux distribution depends absolutely on its package management and distribution system.

I liked apt-get (1, 2) but there was some technical problem at some point and it caused me to use aptitude instead. Using aptitude is slightly easierit has more features automated into single, logical, commands where apt-get requires separate commands. Aptitude also has a curses-based GUI. If you’re not using the GUI then, other than brevity in terms of number of commands to learn, there is apparently no technical reason to prefer one over the other. Aptitude and apt-get serve K/X/Ubuntu ו - Debian טוב. From this point, I use the names Kubuntu and Ubuntu in a loosely interchangeable fashion.

In my use of CentOS (based on Red Hat), I’ve found I like yum. It seems to work in much the same as aptitudeone command to rule them all. It has some rather annoying default behaviour I’m not going to get into here as its most likely because I’m just not used to it. At least from a technical perspective, it is very good. I believe that פדורה also makes use of yum though my experience with Fedora is very limited.

the theory

Fedora and Ubuntu are in a class of distributions that have a fairly rigorous release cycle. אובונטו 8.10 (the version is named so for the year and month of its release) will not, except for major bugs and minor changes, have another major update until the next version, Jaunty Jackalope. Ubuntu users have the latest versions of most software on their desktops right now. In the months preceding the next release, however, they’re not going to be so lucky unless they like using “בטא” releases. As I’m not very familiar with Fedora, I’m not going to bother going into its release cycle.

These 2 distributions are also within a class of distributions known asbinary” או “binary-baseddistributions. This means that when you download an update, the files that are downloaded are precompiled and should run on anysupportedhardware. This isn’t specifically optimised for your desktop’s hardware, for example, your processor. Perhaps you have an AMD processor which has extra instruction support which אינטל CPUs do not have. The reverse could also be true. For this reason, a binary-release distribution cannot optimise for one particular brand of hardware. Regardless of thisnon-optimisation”, it should run at a decent pace.

the practice!

על 2 years ago I started using Kubuntu. After a few months of working with it, I started to learn more about its specifics. I’m not much of a fan of using GUI tools to update the system when, ultimately, its all happening on the command-line anyway. The GUI tools just hide the complexity I don’t mind seeing.

I ended up making a לחבוט תסריט, update, which would run all the steps required to get aptitude to just go ahead and upgrade already, kthx?©, perhaps stopping along the way to back up my configuration, remount the NFS network share where we keep an on-site repository, back up the local cache of aptitude’s installed packages, do some folder-link shuffling to use a local copy if the network share couldn’t remount, sync between the local copy and the network share if the previous update had a network share issue, and update lists of packages in the repository. In general, it wouldn’t go ahead if there were any errors though, as you can tell, this script became a messy beast that went above and beyond the original requirements. It worked well for me.

Until the day came to update between Kubuntu 6.10 ל 7.04. I did this manually though, not with the script.

I ended up reinstalling from scratch as a result of the mess that ensued. At least, as a backup administrator should do well to demonstrate, it was easy to recover everything I really needed. 🙂

What else is out there?

Even before I had to reinstall Kubuntu, I was introduced to another distribution called Gentoo. There are 2 very distinct differences between Gentoo and Ubuntu’s update system. The first is that Gentoo is a source-based distribution. This means that when you update a package, the package manager downloads the source and compiles everything, hopefully optimising it for your system. This, I think, is very cool. The downside to this is that compiling everything takes a very long time.

Here are my (very unscientific) estimates for the length of time it takes to install a basic GUI OS to a desktop from installation media, excluding extraneous drivers (for example, the latest 3D graphics drivers):

OS: minmax (median)

Windows Vista: 15 – 30 (20) minutes

אובונטו: 15 – 40 (20) minutes

Gentoo: 3 – 40 (6) hours

Gentoo also requires much tinkering with the config files in order to get things workingthis is another reason for the extremely long delay between inserting the CD and booting your awesome* new desktop. Popular applications have binary packages available for downloadthough this isn’t a default option.

They see me rollin

There is one more very important distinction Gentoo has from most other distributions. It is arolling-releasedistribution. This means that there isn’t any rigorous version orreleasethat the distribution adheres to. If you install Gentoo todayif you finish installing Gentoo today, you’re probably going to have the latest version of all the applications you installed. If some obscure application gets a major update tomorrow, within a few days, if you update your system, you’re going to have that latest version on your desktop.

The difference between this rolling release and theotherdistributions is rather staggering. לדוגמה: If KDE 4.2 were to be released tomorrow, you’d probably have to wait less than 2 weeks for it to be available on Gentoo. Ubuntu users might have to wait till 9.04 – that’s a 4-month wait.

Something more suitable?

Personally, I’m not willing to put in the 40 hours of effort to get my system working the way I want it to. My colleague had to reinstall recently for some obscure reason and it turns out he wasn’t willing to put in the 6 hours (he’s more experienced with Gentoo) of effort to get his system back to how it was running either. Instead, Arch Linux caught his eye. Arch Linux is a rolling-release (like Gentoo), binary-based (like Ubuntu) distribution. Its packages (טוב, the vast majority of them) don’t need much tinkering with their config files to get things working nicely either. Its the best of both worlds!

You still need to know what you’re doing* but if you’ve come to this juncture, it shouldn’t be such a giant leap of faith. Arch Linux’s package manager, called pacאדם, has built-in dependency and conflict handling. I use another package manager, יוגורט (French for yoghurt), which has very quickly become popular with Arch users. Yaourt enhances the functionality of pacman by allowing you to download and install applications directly from the AUR, או Arch User Repository. This repository contains scripts that allow you to automatically download and install many applications that would otherwise be completely unsupported by Arch’s own core developers. It downloads and compiles the package into a chroot’d environment. It then packages the chroot’d environment into a pacman-compatible package tarball and uses pacman to deploy it into your system.

כמו כן, the AUR supports a voting system whereby popular packages get placed into the more official [community] repository. Yaourt also supports an automated voting mechanism whereby, after installing a package via AUR, it asks if you want to vote for its inclusion in [community].

I estimate that the time taken for my Arch installation was about 90 minutes. I don’t recommend Archlinux for newbies though I do recommend it for any Linux user who’s gotten bored with other distrosand wants to get into the nitty gritty without having to install Linux From Scratch. Arch Linux has been getting pretty popular these days. Its currently at number 14 ב Distrowatch.

* IF you know what you’re doing. AND YOU BETTER BLOODY KNOW WHAT YOU’RE DOING!
לחלוק