This should be a comment to the answer of Andreas Blass, but was too long.

The Lusternik-Schnirelmann category $\operatorname{cat}(X)$ of a space $X$ is the smallest number $k$ such that $X$ has a cover by open sets $U_1,\ldots , U_k$ which are contractible **in $X$**. This means the inclusions $U_i\hookrightarrow X$ are null-homotopic. Note that the $U_i$ are not necessarily connected themselves (although each $U_i$ should be contained within a connected component $X_i$). Note also that $\operatorname{cat}(X)$ is greater then or equal to the minimum number of open sets needed to trivialize any vector bundle on $X$, by the bundle creeping lemma and the fact that any bundle over a point is trivial. 

One of the first theorems about LS-category is that if $X$ is paracompact, then $\operatorname{cat}(X)\le \operatorname{dim}(X)+1$, where $\operatorname{dim}$ denotes the Lebesgue covering dimension (which for manifolds agrees with the usual dimension). So Andreas Blass is correct.

If you want the *minimum* number of open sets needed to cover $B$ such that your bundle $\xi$ is trivial on each, you can do better, using the notion of *sectional category* of a bundle (also known as the *Schwarz genus*). The sectional category $\operatorname{secat}(p)$ of a fibre bundle $p\colon\thinspace E\to B$ is the smallest number $k$ such that $B$ has a cover by open sets $U_1,\ldots , U_k$ on each of which $p$ admits a local section. Then the minimum number of sets in a trivializing cover for $\xi$ is the sectional category of the associated frame bundle of $\xi$.