Tmp klasörünü '/' bölümünden bağlı bölüme (/ mnt) taşıyın


15

Bana küçük bir '/' bölümü ve büyük bir '/ mnt' bölümü veren bir Amazon EC2 örneğim var. Bu nedenle, / mnt bölümüne benim mysql data-dir taşındı. Ancak şimdi / tmp klasörü benim büyük birleştirme sorguları üzerinde alan biten sorunları yaşıyorum ve ayrıca / tmp / mnt / tmp taşımak için çalışıyorum. Bir symlink ile bunu yapmaya çalıştım ama mysql hizmeti başlatılamıyor sonuçlanır.

Lütfen / tmp'nin depolama alanını / mnt (/ dev / xvdb) 'e nasıl taşıyacağınızı tavsiye edin

Yanıtlar:


15

/tmpBağlama noktasını aşağıdakilere bağlayabilirsiniz /mnt/tmp:

sudo mount -B /tmp /mnt/tmp

Fantastik! nasıl olduğunu bildiğinizde kolay.
Programcı

4
Çok dikkat etmeniz gereken bir şey / mnt bölümünün geçici depolama olmasıdır. Örneğin örneğini durdurursanız (veya bozulması ve AWS tarafından taşınması), / mnt içindeki veriler kaybolur. (Özellikle MySQL'iniz için) bir EBS birimi takmanız ve bunu kalıcı olmak istediğiniz veriler için kullanmanız önerilir.
Kevin Willock

@KevinWillock Bence /mnt(büyüklüğüne göre) kalıcı olduğunu (ya da orada kalıcı olan bir şey monte ettiğini) çünkü oradaki verileri kaydettiğini düşünüyorum. BTW, aslında ona ping atmak isteyebilirsiniz @çünkü pinglenmediğinden neredeyse eminim.
Braiam

@Braiam Ben pinged alamadım ama şans tarafından tekrar bu konu kontrol. Kevin bunun geçici bir depolama olduğu konusunda haklıydı. Bunun oldukça güvensiz olduğunu biliyorum ama yerel depolama kullanımının performansını test etmek için kasten yapıldığını biliyorum. Eğer böyle bir sistemi kullanacak olsaydım, bir EBS birimine ya da RDS'nin kendisine çoğaltıldığından ve oradan yedeklediğimden emin olurdum. Risklerin farkındayım.
Programcı

1
Her yeniden başlatmada bu komutu yürütmem gerekir mi?
Nisan'ta hithwen

3

Bir "/ tmp" bölümünü taşımak, bu yanlış yanıtta bazı ekstra önerilmemeleri gereken /ubuntu//a/371628/298086 gerektirir .

Verilerin taşınması, hedef bölüme klonlandıktan sonra orijinal bölümden silme verilerini, yani bağlama bağlaması tarafından gerçekleştirilmeyen mutlak verileri ifade eder.

ÖNERİ : Bağlama bağlantısının ne olduğunu anlamak istiyorsanız bu parlak yazıyı okuyun /unix//a/198591

Doğru montaj seçeneğini denerseniz (bağlama değil "TAŞI"):

mount -M /tmp /mnt/tmp

Ben "olduğunu bildiriyor başarısız olur ikna olduğum tmp paylaşılan mountpoint olan " (aslında ne anlama geldiğini " hala kullanan tüm süreç olmaktan eğer bir mountpoint hareket edemez ")

Aradığınız "yanıt", içeriği taşımadan önce / tmp komutunu kullanarak hizmetlerin durdurulmasını ve yeniden başlatılmasını gerektirebilir.

Bu hizmetleri / işlemleri aşağıdakileri çalıştırarak listeleyebilirsiniz:

lsof +D /tmp/

Yani gerçekten erişen / kullanan şeyi listeledikten sonra /tmp, "nasıl davranacağınıza" gerçekten karar verebilirsiniz.

Bence en güvenli yol geçiyor

  1. / Tmp erişimine sahip tüm hizmetlerin durdurulması (bunu yapabiliyorsanız)
  2. Tamamen / tmp içeriğini yeni bir yere kopyalama
  3. / Etc / fstab ve change / tmp mount point fiziksel konumunu düzenleme (bağlama veya cihaz montajı olsun)
  4. Yeniden montajı gerçekleştirmek için sistemi yeniden başlatma

Ancak sistemin yeniden başlatılmasını gerektirmeyen, ancak öncekinden daha güvenli olmayan başka bir yol var. Bu edilir Burada açıklanan ve bağladığınızda veya çözdüğünüzde oluşur /tmpbir de tembel sen yürütmesine izin gerektiğini, bu aradamount -M

Bu iki bağlantı talebinize yardımcı olacaktır:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.