USB Belleğe Kurulum Yapmak

Bu bölümde Raspberry Pi OS’u SD karta kurmak yerine USB Flaş belleğe nasıl kurabileceğimize bakacağız. Kurulum benzer şekilde USB’den bağlanan SSD/HDD/NvME diskler içinde gerçekleştirilebilir. Kurulum üzerinde USB 3.0 porta sahip olan Raspberry Pi 4 referans alınarak anlatılacaktır.

Bildiğiniz gibi bilişim teknolojilerinde veri depolamak için kullanılan SD kart/HDD/SSD/NvME gibi birçok kayıt ortamı mevcut. Raspberry Pi üzerinde ise tümleşik olarak bir SD kart okuyucu yer alıyor. Raspberry Pi bildiğiniz gibi tek kart bilgisayar (SBC) sınıfında ufak boyutları (bir kredi kartı boyutuna yakın) ile ön plana çıkan bir bilgisayar. Böylece oldukça küçük kutular ya da endüstriyel cihaz hacimleri içerisinde kullanım imkânı bulabiliyor. Esasında Raspberry Pi’da bir SATA ya da NvME arayüzü kullanılması gerekirken boyutlarını artırmamak için SD kart yuvası tercih edilmiş olduğunu söyleyebiliriz. Raspberry Pi’ın ilk sürümlerinin sahip olduğu donanım özellikleri düşünüldüğünde, SD kart okuyucunun işletim sistemini yüklemek için kullanılması makul olarak kabul edilebiliyordu. Ancak günümüzde Raspberry Pi Vakfının resmi olarak desteklemesi ile birlikte (Sürüm 4)  kullanıcılar tarafından da alternatif arayışlarına girildi. Demek istediğim Raspberry Pi 4 ile birlikte artan RAM, USB ve Ethernet hızına uyum sağlayabilecek bir işletim sistemi depolama ortamı olarak SD kart yavaş kalabilmekte. Tabi bunu genellememek gerek. İlerleyen paragraflarda işletim sistemi depolama ortamı için en uygun medyayı nasıl tercih edeceğiniz hakkında bilgiler yer alıyor. 

Depolama donanımları

Raspberry Pi’ı başlatmak için kullanmayı düşündüğümüz SD kart okuyucular veya SD kartlar veri depolama ve gerektiğinde okuma amacıyla üretilen cihazlardır, sıkça kullandığımız USB flaş bellekler de böyledir. Şimdi, evet nevar bunda dediğinizi duyar gibiyim. Bir işletim sistemini bu ortamlardan birisine yüklerseniz doğal olarak çalışması için ihtiyaç duyacağı dosyaları depolama ortamından okuyacak ve işletim sistemini RAM’e yükleyecektir. Çalışması sırasında da depolama ortamından dosya okuma yazma işlemlerini yapmaya devam edecektir. Burda depolama ortamının başarımı açısından en önemli iki özellik okuma yazma hızı gibi gözükse de tam olarak böyle değildir. Bir işletim sistemi yüklenirken ve çalışırken aynı anda paralel olarak bazen binlerce ufak dosyayı okuması ve yazması gerekir. Fakat SD kart ve USB flaş bellekler sayıca az nispeten büyük dosyaları okumak yazmak için imal edilmiştir. Yani bir fotoğraf makinesine takdığınız SD karta yüksek çözünürlüklü örneğin 20MB’lık bir resim dosyası 1sn gibi bir sürede yazılabilir veya okunabilirken, toplamı 20MB olan yüzlerce dosya 1sn’nin çok üzerinde bir sürede okunabilir. Çünkü SD kart ve Flaş bellekler tek parça halindeki dosyaları yüksek hızlarda okuyup yazmak için tasarlanmış ve imal edilmiş depolama ortamlarıdır. Anlık olarak fazla sayıda dosyaya erişim sağlamak için tasarlanmamışlardır. Yani bir bilgisayarda sistem sürücüsü olarak görecekleri türden bir görev için tasarlanmamışlardır. Diğer taraftan fiyat baskısı ile üretimlerinde daha az dayanıklı ve daha düşük kapasiteli çipler kullanılarak üretilmişlerdir. Tam bu noktada depolama ortamları için okuma/yazma hızlarının haricinde IOPS (Input/Output Operations Per Second) adı verilen bir ölçüt ortaya çıkıyor. IOPS değeri, kapasite ve okuma/yazma hızından sonra fiyat belirleyen en önemli ölçüttür. Diskin bir saniye içinde yapabileceği azami okuma/yazma işlemlerinin sayısı olarak ifade edilir.

Kullanmayı düşündüğünüz SD/SSD/USB cihazlarını IOPS ve diğer temel başarım kriterleri açısından nasıl karşılaştıracağımıza bakmadan önce referans alacağımız Raspberry Pi 4’ün üzerinde bulunan SD kart okuyucu arabirimi ve USB kontrolcüsünün başarım özelliklerini karşılaştıralım. Çünkü seçeceğimiz depolama ortamından alacağımız başarım azami bu arabirim ve kontrolcünün başarımı kadar olacaktır.

Raspberry Pi 4 üzerinde bulunan SD kart arabirimi 1.8v ile çalışan DDR50 modunu destekleyen ve 50MB/saniye bant genişliğine sahip bir arabirimdir. USB 3.0 arabirimi ise teorik olarak 625Mbps yani 78MB/sn’lik bir bant genişliğine sahiptir. Bant genişliği açısından karşılaştırıldığında Raspbery Pi’ın USB 3.0 portu SD kart portundan teorik olarak %56 hızlıdır  (ilerleyen yıllarda bu arabirim yerini 3.1 (156MB/sn) ve 3.2 (312MB/sn) sürümlerine bırakacaktır). Eğer aynı teknolojide bir SD kart ile USB flaş belleği Raspberry Pi üzerinde kullanabiliyor olsaydık aralarında %56’lık bir fark olacağını söyleyebilirdik. Ancak IOPS özelliği devreye girdiğinde bu fark çok daha dramatik şekilde artar. Çünkü SD kartlar fiziksel olarak çok küçük olduğundan ve öncelikli olarak yüksek sayıda giriş/çıkış işlemi yapmak yerine çokça veri depolamak amaçlı tasarlanmışlardır. USB flaş belleklerde de durum çok farklı değildir, onlarda veri depolama amaçlı üretilmiş donanımlardır. Bu noktada da SD kart ve USB Flaş bellek tercihi yaparken IOPS başarımlarını ön plana çıkartmak gerekiyor. Flaş belleklerin boyutları daha büyük olduğu için istediğimiz IOPS değerini flaş bellek ile yakalamamız daha muhtemeldir. Ayrıca USB flaş bellekler SD kartlara göre daha dayanıklı ve uzun ömürlüdürler. Ancak yine de Raspberry Pi üzerinde SD kart yerine gerçekten bir USB bellek kullanıp kullanmamamız gerektiğinin kuvvetli gerekçelerini ortaya koyabilmemiz gerekir. Linux çekirdeği uzun yıllar mekanik disklerde çalışmak üzere geliştirilmiş olsada Raspberry Pi’ın işletim sistemi SD kartın donanımsal yapısını azami başarımda kullanmak üzere bazı çekirdek optimizasyonlarına sahiptir.

Depolama donanımlarının başarımını sınamak

Raspberry Pi’ın disk başarımını değerlendirmek için fio (flexible I/O tester) aracından faydalanacağız. fio istenilen türde giriş/çıkış işlemleri yaratarak başarım verilerini hesaplayan bir araçtır. Aracı, diskin sıralı ve rasgele okuma/yazma hızları ile IOPS değerini ölçmek için kullanacağız. Aracı yüklemek için aşağıdaki komutları çalıştırabilirsiniz:

Üzerinde herhangi özel bir görev çalışmayan ya da ofis/web amaçlı kullanılan bir Raspberry Pi diskte yazma işleminden çok sıralı ve rasgele okuma işlemi gerçekleştirir. Bu kullanım amacı için sıralı okuma ve rasgele okuma testi gerçekleştirerek elimizdeki kayıt ortamlarının başarımını karşılaştırabiliriz. Ancak tabiki dosya sunucusu gibi görevler için sürekli olarak büyük dosyalarla çalışıyorsanız bu durumda diske yazma işlemleri de önem kazanacaktır. Testinizi sıralı ve rasgele yazma işlemleri için de gerçekleştirebilirsiniz. Bu başlıkta aşağıda resimlerini görmekte olduğunuz flaş bellek ve SD kartı yarıştıracağız.

SanDisk 16 GB Ultra      

SanDisk SDDD3-128G-G46

Aşağıdaki komut ile fio aracını kullanarak SD kart üzerinde okuma başarımı sınaması gerçekleştirelim. fio aracı, bulunduğu dizine karşılık gelen depolama ortamı üzerinde test yapar. Bu nedenle komutu çalıştırmadan önce SD karta karşılık gelen bir dizin içinde bulunduğunuzdan emin olun.

Yukarıdaki komut bulunulan dizinde test (–filename) isimli 1GB’lık (–size) bir dosya oluşturarak 4k’lık (–bs) bloklar halinde sıralı (–readwrite) okuma gerçekleştirir. Okumayı 64 (–iodepth) eş zamanlı kanal oluşturarak ve disk tamponunu devre dışı bırakarak (–direct) gerçekleştirir.  Bulunulan dizinde oluşturulan test isimli dosyayı işiniz bittikten sonra silmeyi unutmayın.

Test sonunda SanDisk 16 GB Ultra model numaralı (SanDisk SU16G) SD kart üzerinde yapılan sınama neticesinde ortalama 20.1MB/sn bant genişliği ve 5154 IOPS değerlerinin ölçüldüğü gözükmektedir. Şimdi aynı işlemi rasgele okuma için gerçekleştirelim.

Diskin rasgele konumlarından yapılan aynı özellikteki okuma sınamasında oluşan sonuçlar aşağıdaki gibi oluşmuştur.

Görebileceğiniz gibi rasgele okuma işleminde SD kartın okuma değerleri dramatik şekilde düşmüştür. Şimdi aynı sınamayı SanDisk SDDD3-128G-G46 model USB flaş bellek üzerinde gerçekleştirelim. Bunun için flaş belleği Raspberry Pi’a bağlayarak içinde bir dizin oluşturun ve dizine geçerek sıralı okuma için kullandığımız komutun aynısını çalıştıralım. Eğer sınama yapmak istediğiniz flaş belleği Raspberry Pi’a nasıl tanıtacağınızı bilmiyorsanız kitabın “USB Flash Bellekler ile Çalışmak” başlıklı konusuna göz atabilirsiniz.

Test sonunda SanDisk SDDD3-128G-G46 model flaş bellek için ortalama 3.4MB/sn bant genişliği ve 881 IOPS değeri ölçülmüştür.

 Şimdi aynı işlemi rasgele okuma için gerçekleştirelim. USB Flaş belleğe karşılık gelen dizin içinde olduğumuzdan emin olarak (~/usbdisk) aşağıdaki komutu verelim.

USB flaş bellek üzerinde gerçekleştirilen rasgele okuma sınamasına ait özet sonuç aşağıdaki gibi olmuştur.

Sınamalardan elde ettiğimiz değerleri toparlayıp aşağıdaki gibi bir tabloya yerleştirirsek karşılaştırmayı kolayca yapabiliriz. Görülebileceği gibi bu sınamada USB flaş belleğin okuma başarımı bir miktar öne çıkmıştır.

 Sıralı OkumaRastlantısal Okuma
Bant GenişliğiIOPSBant GenişliğiIOPS
SD Kart36.10 MB/Sn92354.79 MB/Sn1226
Flaş Bellek (USB 3.0)103.00 MB/Sn264004.64 MB/Sn1213

Raspberry Pi  4 Model B sıralı ve rastlantısal okuma sınamalarının özeti

Fikir vermesi açısından aynı konfigürasyondaki (Raspberry Pi 4) yazma sınamasına (write/randwrite) ait sonuçlara da aşağıdaki tabloda yer verilmiştir. Yazma işleminde elde edilen başarım her iki depolama ortamı için de dramatik şekilde azalmıştır. Buradan ortamların daha çok okuma işlemi için uygun olduğunu söyleyebiliriz. Keza bu durum bir işletim sistemi çalıştıran Raspberry Pi diski için de geçerlidir. Bir işletim sisteminde disk işlemlerinin büyük çoğunluğu okuma işlemi olarak gerçekleşir.

 Sıralı YazmaRastlantısal Yazma
Bant GenişliğiIOPSBant GenişliğiIOPS
SD Kart9.35 MB/Sn23950.34 MB/Sn88
Flaş Bellek (USB 3.0)8.80 MB/Sn22540.94 MB/Sn241

Raspberry Pi  4 Model B üzerinde sıralı ve rastlantısal yazma sınamalarının özeti

Aşağıdaki tablolarda Raspberry Pi 3 Model B üzerinde aynı SD kart ve flaş bellek ile yapılan sınamalara ait sonuçlar yer almaktadır. Raspberry Pi 3’ün USB 2.0 portlara sahip olduğunu hatırlatmak isterim. Tabloya göre Raspberry Pi’ın standart görevler için kullanıldığı durumlarda SD kart ile flaş bellek arasında (tabiki yukarıda marka model numarası verilen donanımlar özelinde) başarım açısından gözle görülür fark oluşmayacağı söylenebilir. Fark özellikle veritabanı gibi yazma yoğunluklu görevlerde ortaya çıkacaktır.

 Sıralı OkumaRastlantısal Okuma
Bant GenişliğiIOPSBant GenişliğiIOPS
SD Kart20.10 MB/Sn51543.40 MB /Sn881
Flaş Bellek (USB 2.0)22.20 MB/Sn56874.30 MB/Sn1108

Raspberry Pi  3 Model B sıralı ve rastlantısal okuma sınamalarının özeti

 Sıralı YazmaRastlantısal Yazma
Bant GenişliğiIOPSBant GenişliğiIOPS
SD Kart9.10 MB/Sn23300.32 MB/Sn81
Flaş Bellek (USB 2.0)8.80 MB/Sn22690.17 MB/Sn44

Raspberry Pi  3 Model B üzerinde sıralı ve rastlantısal yazma sınamalarının özeti

Yukarıdaki tabloları Raspberry Pi 3 ve 4 açısından karşılaştırırsak faydalı olacaktır. Raspberry Pi 4 üzerinde USB 3.0 bir kontrolör vardır ve SD kart okuyucu da bu kontrolöre bağlıdır. USB 3.0’ın disk işlemlerinde sağladığı fark SD kart için iki kata, flaş bellek için ise 5 kata yakındır. Aynı SD kart Raspberry Pi 4 üzerinde okuma işlemleri açısından 2 kata yakın hızlı çalışmaktadır. Yazma işlemleri açısından ise kayda değer bir fark yoktur. Buradan da USB 3.0 ile okuma işlemlerinin 5 kat hızlandığını fakat yazma başarımının SD kartın teknik özelliklerine takılı kaldığını söyleyebiliriz.

Raspbery Pi 3. ve 4. sürümlerini USB flaş bellek açısından değerlendirmemiz gerektiğinde okuma başarımı açısından önemli sayılabilecek fark bulunmakta. Bu fark kendini özellikle sıralı okumada göstermiş durumda. Rastlantısal okumadaki farkın fazla olmaması flaş belleğin mikrodenetleyicisinin giriş/çıkış başarım sınırına takıldığımızı gösteriyor. Sıralı yazma başarımları arasında fark olmamakla birlikte rastlantısal yazma da 5 katlık bir fark oluştuğunu görüyoruz. Özetle Raspberry Pi 4 üzerinde Raspberry Pi OS’u kurmak için USB 3.0 bir flaş belleğin disk başarımı açısından fark yarattağını söyleyebiliriz. SD kart açısından değerlendirdiğimizde de Raspbery Pi 4, Raspberry Pi 3’e göre okuma başarımı açısından %50 daha iyi, yazma başarımı açısından başa baş durumdalar.

Aşağıda tabloda şu ana kadar gerçekleştirdiğimiz tüm sınamaların yanında USB 3.0 bir kutuya monte edilmiş bir HDD ve SDD (Solid State Disk) disklerin başarım sınamaları da gözükmektedir.

 OKUMAYAZMA
SıralıRastlantısalSıralıRastlantısal
Bant Genişliği
(MB/Sn.)
IOPSBant GenişliğiIOPSBant Genişliği
(MB/Sn.)
IOPSBant GenişliğiIOPS
Pi 4
USB 3.0
Flaş Bellek103264004.6412138.822540.94241
USB SSD*61.31570058.31490029.8762628.57305
SD Kart36.192354.7912269.3523950.3488
USB HDD3692224.3111049.4524210.3180
Pi 3
USB 2.0
Flaş Bellek20.2056874.3011088.8022690.1744
SD Kart20.1023303.408819.1023300.3281

Raspberry Pi 3 ve 4 üzerinde yapılan SD kart, flaş bellek, USB HDD ve USB SSD sınamaları

1.1.3 –  Raspberry Pi ‘ı USB’den başlamak için ayarlamak

Eğer Raspberry Pi 4 kullanıyorsanız herhangi özel bir işleme yapmanıza gerek yok. USB flaş belleğe yazacağınız bir işletim sistemi ile Raspberry Pi 4’ü başlatabilirsiniz. Tabiki SD kart yuvasında boot edebilen bir SD kart olmamalıdır. Raspberry Pi 4 varsayılan olarak önce SD karttan sistemi başlatmaya çalışır başarılı olamazsa USB flaş belleğe bakar. Eğer Raspberry Pi 4 SD kart takılı olmadığı halde USB flaş bellekten başlamıyorsa şu adımları uygulayarak Raspberry Pi’ın işletim sisteminin başlangıç aygıt sırasını istediğiniz gibi ayarlayabilirsiniz.

1. Raspberry Pi Imager’ı çalıştırarak Choose OS düğmesine tıklatın ve Misc utility images seçeneğini ardından da Bootloader seçeneğini tıklatın.

2. Gelecek olan ekranda öncelikli başlatma aygıtının hangisi olacağını belirleyin. Bu ekran size 3 seçenek sunar. Bunlar:

a) SD Card Boot: Öncellikle SD karttan başlatmaya çalışır. Başarılı olamazsa USB üzerinden başlatmayı dener.

b) USB Boot: Öncelikle USB’den başlatmaya çalışır. Başarılı olamazsa SD karttan başlatmayı dener.

c) Network Boot: Eğer SD karttan başlatma başarısız olursa sistemi ağ üzerinden başlatmayı dener.

3. Uygun seçimi yaptıktan sonra boş bir SD kart seçerek imajı yazdırın.

4. Raspberry Pi’ı bu SD kart ile başlatın. 10 saniye kadar bekledikten sonra tercih ettiğiniz açılış ön yükleme yapılandırması EEPROM’a yazılacak ve işlem başarılı olduğunda ekran yeşil renge boyanacaktır.

Eğer Raspberry Pi 4’den daha eski bir donanımınız varsa USB flaş bellekten başlatmayı ayarlamak için şu adımları uygulayın. Bu adımlar Raspberry Pi’ın 2. ve 3. Sürümlerinde işe yarar:

1. Raspberry Pi OS’un son sürümünü bir SD karta yazın ve Raspberry Pi’ı bu kartla başlatın.

2. Bir konsol açarak şu komutu verin:

3. Ardından şu komutu çalıştırın:

4. USB flaş belleğe Raspberry Pi OS’u yazarak bilgisayarı başlatın.

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.