2017-04-09 92 views
0

我目前正在使用MongoDB測試minikube(v0.18.0),我想在MongoDB(/data/db)和我的本地主機(Mac)之間共享目錄。不能使用MongoDB與minikube的掛載主機目錄

我跑

$ mkdir /Users/minikube/mongodb 

$ minikube start --vm-driver=xhyve 
$ minikube mount /Users/minikube/ 

然後創建一個MongoDB的莢狀

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: mongodb 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: mongodb 
    spec: 
     containers: 
     - name: mongodb 
     image: mongo:3.0.14 
     imagePullPolicy: IfNotPresent 
     ports: 
     - containerPort: 27017 
     volumeMounts: 
     - mountPath: /data/db 
      name: datadir 
     command: ["mongod"] 
     args: 
     - '--smallfiles' 
     volumes: 
     - name: datadir 
     hostPath: 
      path: /mount-9p/mongodb 

目錄安裝,但我看到的錯誤,

2017-04-09T19:53:52.082+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=mongodb-2548301107-vs9hq 
2017-04-09T19:53:52.082+0000 I CONTROL [initandlisten] db version v3.0.14 
2017-04-09T19:53:52.082+0000 I CONTROL [initandlisten] git version: 08352afcca24bfc145240a0fac9d28b978ab77f3 
2017-04-09T19:53:52.085+0000 I CONTROL [initandlisten] build info: Linux ip-10-30-223-232 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 BOOST_LIB_VERSION=1_49 
2017-04-09T19:53:52.085+0000 I CONTROL [initandlisten] allocator: tcmalloc 
2017-04-09T19:53:52.085+0000 I CONTROL [initandlisten] options: { storage: { mmapv1: { smallFiles: true } } } 
2017-04-09T19:53:52.144+0000 I JOURNAL [initandlisten] journal dir=/data/db/journal 
2017-04-09T19:53:52.149+0000 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed 
2017-04-09T19:53:52.156+0000 I JOURNAL [initandlisten] 
2017-04-09T19:53:52.156+0000 E JOURNAL [initandlisten] Insufficient free space for journal files 
2017-04-09T19:53:52.157+0000 I JOURNAL [initandlisten] Please make at least 422MB available in /data/db/journal or use --smallfiles 
2017-04-09T19:53:52.157+0000 I JOURNAL [initandlisten] 
2017-04-09T19:53:52.157+0000 I STORAGE [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating 
2017-04-09T19:53:52.157+0000 I CONTROL [initandlisten] now exiting 
2017-04-09T19:53:52.157+0000 I NETWORK [initandlisten] shutdown: going to close listening sockets... 
2017-04-09T19:53:52.157+0000 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock 
2017-04-09T19:53:52.157+0000 I NETWORK [initandlisten] shutdown: going to flush diaglog... 
2017-04-09T19:53:52.157+0000 I NETWORK [initandlisten] shutdown: going to close sockets... 
2017-04-09T19:53:52.157+0000 I STORAGE [initandlisten] shutdown: waiting for fs preallocator... 
2017-04-09T19:53:52.157+0000 I STORAGE [initandlisten] shutdown: final commit... 
2017-04-09T19:53:52.157+0000 I STORAGE [initandlisten] shutdown: closing all files... 
2017-04-09T19:53:52.157+0000 I STORAGE [initandlisten] closeAllFiles() finished 
2017-04-09T19:53:52.158+0000 I CONTROL [initandlisten] dbexit: rc: 100 

,我無法啓動的MongoDB 。

如果我改變比/Users/tmp/其他掛載點,然後

Mounting /k8s-mount/ into /mount-9p on the minikubeVM 
This daemon process needs to stay alive for the mount to still be accessible... 
ufs starting 
Something went wrong running an SSH command! 
command : 
sudo mkdir /mount-9p; 
sudo mount -t 9p -o trans=tcp -o port=5640 -o uid=1001 -o gid=1001 192.168.64.1 /mount-9p; 
sudo chmod 775 /mount-9p; 
err  : exit status 1 
output : chmod: changing permissions of '/mount-9p': Unknown error 526 

發生權限錯誤,我甚至不能安裝。另外,如果我停止安裝並使用虛擬機內的目錄,它看起來很有用。

當我使用VirtualBox驅動程序時,看起來有一些文件系統問題,但我無法獲得足夠的xhyve信息...有沒有人在主機(而不是VM)上掛載目錄時成功使用MongoDB和minikube?

回答

0

我試過這個場景,使用kvm作爲vm-driver,它對我來說似乎很完美。 請看,在你的第一個日誌中,它說,

2017-04-09T19:53:52.156+0000 E JOURNAL [initandlisten] Insufficient free space for journal files,可能是你正在安裝的文件夾可能沒有足夠的空間。

具體檢查主機上文件夾的權限,應該是775